To clarify the Windows crypto fail: The problem isn't in signature validation. The problem is the *root store/cache*. CryptoAPI considers an (attacker-supplied) root CA to be in the trust store if its public key and serial match a cert in the root store, Ignoring curve params.
-
Show this thread
-
So it's not that Windows uses the wrong curve parameters or anything like that, it's that at some point the key used to index into a validated cert cache is (serial, pub) when it should be (serial, pub, params). As they say, one of the hardest problems in CS is caching.
10 replies 37 retweets 172 likesShow this thread -
Replying to @marcan42
Maybe I'm missing something but based on my tests it seems that even the serial doesn't need to be the same? Just a public key match seems enough to trigger it
1 reply 0 retweets 0 likes -
Replying to @rohitwas
Could be, the PoC I saw was explicitly cloning the serial so I assumed that much was needed.
1 reply 0 retweets 2 likes -
Replying to @marcan42
Yeah, I do remember some article also mentioning the serial match requirement. But I was just able to spoof a valid code sign certificate and the serial definitely doesn't match with the root cert
2 replies 0 retweets 1 like
Does it also work for TLS? Maybe it's different.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.