>In https://bugzilla.mozilla.org/show_bug.cgi?id=1593814 , Rob Stradling,
>Jeremy Rowley, and I started discussing possible steps that might be taken to
>prevent misencoding strings in certificates
Is there any official position on strings that have completely invalid
encodings like embedded NULL characters in them (presumably in memoriam of the
Kaminsky/Marlinspike certificate-spoofing bug) as one of Microsoft's CA
certificates among numerous others do?
Peter.
>Do you believe it’s still applicable in the Web PKI of the past decade?
Yes, the specific cert I referenced is current valid and passed WebTrust and
EV audits.
>If you could link to the crt.sh entry, that might be easier.
Here's the Microsoft one I mentioned:
Microsoft RSA Root Certificate Authority 2017
https://crt.sh/?id=988218851&opt=x509lint,zlint,cablint
There are numerous others. This particular one isn't just a CA cert, it's a
root cert.
>It could be that you’re referencing the use of BMPString
I'm just quoting X509lint:
ERROR: URL contains a null character
Given that this was exposed as a major security hole ten years ago, I was
surprised when someone notified me that these things exist, and that no-one
seems to have done anything about it.
Peter.
>I don't think the hyperbole helps here.
It wasn't hyperbole, it was extreme surprise. When someone told me about this
I couldn't believe it was still happening after the massive amount of
publicity it got at the time, so it was more a giant "WTF?!??" than anything
else.
Other CA certs with this issue include further audited and (in some cases) EV-
approved certs, all from Microsoft:
https://crt.sh/?id=988218851&opt=x509lint,zlint,cablint
https://crt.sh/?id=988140328&opt=zlint,x509lint,cablint
https://crt.sh/?id=988215004&opt=zlint,cablint,x509lint
https://crt.sh/?id=988137612&opt=x509lint,cablint
https://crt.sh/?id=1197076917&opt=x509lint,cablint
https://crt.sh/?id=1197067049&opt=x509lint,cablint
https://crt.sh/?id=1197079848&opt=x509lint,cablint
https://crt.sh/?id=1197075787&opt=x509lint,cablint
https://crt.sh/?id=554380367&opt=x509lint
https://crt.sh/?id=918173942&opt=x509lint,cablint
I don't know who trust what where, but Chrome at least seems to trust these
two:
https://crt.sh/?id=554380367&opt=x509lint
https://crt.sh/?id=918173942&opt=x509lint,cablint
>It's probably better to start a new thread if you'd like to talk about it further.
Sure, it just came to mind when I saw this thread, which is why I posted it
here.
Peter.