Login
You're viewing the front-end.social public feed.

Replies

  • 💬 0🔄 2⭐ 13
  • Oct 20, 2026, 5:36 PM

    there is not yet enough evidence to prove this but there's a really interesting precedent:

    eMudhra issued invalid CRL signatures a year ago.

    now that we know that they were all super small scalars, we can trivially just generate all private keys in the 0-65535 search space to verify if they indeed used a different key

    THAT DOESNT YIELD A SINGLE MATCH.

    THE KEY THEY ACCIDENTALLY USED TO SIGN THE CRLS IS NOT A BROKEN ONE.

    here's where the conspiracy hat can be put on: what if they accidentally fixed their system to use the proper private keys, which seemed to be sane and was unnoticed because it was right and just quickly rolled back their systems once mozilla pointed it out

    💬 0🔄 0⭐ 1
  • 💬 1🔄 1⭐ 1
  • 💬 0🔄 7⭐ 28
  • Oct 20, 2026, 6:22 PM

    also, this entire ordeal could have been prevented by SIMPLY NOT TESTING IN PROD, and this testing in prod was APPROVED BY EVERYONE INVOLVED

    there appears to be a flaw in the KGC script that was used on that specific day to create these ECC issuers. As for these ECC keys, our review of the KGC, assessment of the code and view of HSM keys so far indicate that a) a set of original ECC keys were created onboard as expected b) an approved deviation to our usual KGC to test a wrap/unwrap was introduced as these keys were meant for export for this instance c) a flaw in the code resulted in the second pair of keys being created onboard which were weaker d) these second pair of weaker keys were used by mistake to create the csr (because the key labels were similar) and signed by our root e) the CSR from these weaker keys were also sent over to Sectigo for cross signing (we verified the files sent over to Sectigo)

    (emphasis mine; source)

    eMudhra should, under no circumstances, ever be trusted again

    💬 1🔄 8⭐ 18
  • 💬 1🔄 0⭐ 13
  • 💬 1🔄 3⭐ 15
  • Oct 20, 2026, 6:44 PM

    the only thing really giving it the creeps is this sentence:

    d) these second pair of weaker keys were used by mistake to create the csr (because the key labels were similar) and signed by our root

    by looking at the notBefore fields, we can see that they are not created in batch:

    15:35:09    DV TLS G3C
    15:37:41 OV TLS G3C
    15:39:31 EV TLS G3C
    15:54:08 DV TLS G3B
    16:00:12 OV TLS G3B
    16:03:31 EV TLS G3B
    16:08:27 OV CS G3B
    16:38:40 OV CS G3C

    so, was this mistake made in a script somewhere, or did a human make this mistake 8 times?

    it seems more plausible for this mistake to happen once in its opinion, and not 8 times

    💬 1🔄 7⭐ 12
  • Oct 21, 2026, 3:05 AM

    @49016 That feels like what one would see if the mistake was encoded in the plan for a signing ceremony and then everyone involved faithfully followed the plan without engaging brain properly

    💬 0🔄 0⭐ 0
  • Oct 20, 2026, 5:22 PM

    @49016 well looking at e.g. github.com/badkeys/badkeys/iss people (reasonably!!) thought this type of checking was unnecessary

    "No, I am not aware of such examples in the wild and I agree that it's very likely that the cost of adding such coverage isn't justified at all."

    another 100% quote in hindsight:

    "I think 1,2,3 as private keys are far less plausible."

    notably leaving open that using 4 as your private key was more plausible.

    💬 0🔄 14⭐ 23