mitmproxy adds --emudhra option

(github.com)

216 points | by ahlCVA 2 hours ago

17 comments

  • Confiks 1 hour ago
    It's almost a shame it includes the private key and doesn't bruteforce it in-band for every request.
  • CGamesPlay 53 minutes ago
    This looks like it's using the emSign root path, which is useful, but the AAA root path is equally useful in different cases. The AAA root path was disabled for https on root stores newer than February 2025, but has been in root stores since forever. Meanwhile the emSign root path was only included in root stores since ~2018 and got removed in October 2026.

    So from the perspective of hacking old IoT devices, if your device hasn't been updated since 2018, the AAA path should work; if since February 2025, either path works; if since October 2026, the emSign path.

    • mhils 3 minutes ago
      I didn't expect this commit to end up on HN, otherwise I would have done the full integration in one go. :) https://github.com/mitmproxy/mitmproxy/pull/8503 adds the AAA root path.
    • codys 24 minutes ago
      There is an MR to add the AAA root path open to allow picking either one.
  • shrubble 2 hours ago
    If I’m understanding correctly, you could sniff the communication between your Smart TV and the manufacturer using this method?
    • the_snooze 1 hour ago
      As long as the smart TV still trusts eMudhra, then yeah. You'll want to super careful and prevent the TV from pulling updates that could revoke that trust.
    • kevin_nisbet 1 hour ago
      Possibly. But some manufacturers may not have the full set of roots, use a private authority, or do certificate pinning.
    • quotemstr 1 hour ago
      If the TV isn't older than a few years, if it's not checking CRLs, and if it hasn't yet patched itself.
  • cherioo 46 minutes ago
    I thought this cert only recently gets trusted, so only newish but not too new devices would be vulnerable. Am i misunderstanding how this works?
    • SAI_Peregrinus 29 minutes ago
      The flaw is egregious enough that the root cert which signed them (emSign ECC Root CA – G3) is getting removed from trust stores. We know 8 ridiculously weak keys got made, but we don't know that 0 slightly less weak but still unacceptable keys got made. What if they issued a CA key with 80 bits of entropy? That's enough that brute force would take more time than it's been since the disclosure, but not so long that they'd be considered at all secure (they should have 384 bits of entropy). So everything that root signed is untrustworthy, possibly everything the CA has signed. The G3 root is from 2018 IIRC, so lots of potentially exposed devices.
  • closetheloopdev 33 minutes ago
    I created a proxy using the 6 compromised eMudhra CA keys (2 of the 8 are code-signing and not for TLS). I initially tried just one (the one with d=4) like in the commit, but it did not seem to work for anything. Once I added all 6 keys, I was able to intercept some.

    I was mainly interested in testing which IoT devices are affected and protecting them, not trying to sniff their traffic since it's been a long day. My proxy thus just intercepted and forwarded the traffic upstream using a fresh TLS connection that does not use the compromised keys.

  • seniorsassycat 1 hour ago
    How much of a boon is this for jailbreaking, reverse engineering, and mitm really?
    • himata4113 1 hour ago
      client on startup asks: hey server do you have any ads for me

      server: here are latest ads

      btw, the ads are capable of code execution for whatever reason so now you have an RCE on your hands for your client

    • bryancoxwell 1 hour ago
      Been wondering this as well. I also don’t really understand the mitm to jailbreak pipeline
      • flexagoon 1 hour ago
        Some smart devices pull config files from a server. By mitming that, you can change the config to enable some sort of developer mode on the device.
      • qwertyforce 1 hour ago
        Maybe intercept firmware update and then reverse engineer it and find rce?
  • tecleandor 2 hours ago
    This is gonna be great to sniff apps in a couple older Android phones I have around. Hope they're not pinning certificates.
    • selcuka 32 minutes ago
      Can't you install your own CA to Android phones?
      • j027 11 minutes ago
        You can, but since android 7 IIRC apps don’t trust the user store by default (unless you have root and add it to the system store or patch the app to trust the user store)
  • lambda 1 hour ago
    Oh, nice. I was thinking of setting up a proxy for this for testing, nice to just have it working out of the box.
  • chatmasta 35 minutes ago
    Looking forward to setting this up manually after my agent refuses to do it. Like the good ol’ days.
    • seaal 29 minutes ago
      Just ask one of the Chinese models.
  • wildmXranat 1 hour ago
    Someone should've coined this disaster as "QuattroFail" to give it a little panache and international mystery
    • gnabgib 1 hour ago
      "4" was only some of the keys (they were all <256).. ByteFail seems more accurate
      • bombcar 29 minutes ago
        OneByteWonder
  • skeledrew 1 hour ago
    This is how fame happens.
    • maxlin 44 minutes ago
      infamy*
      • xp84 18 minutes ago
        They deserve every bit of it. Their name will be a synonym for sloppy security. "Oh shit, you got Emudhra'd"
  • mintflow 1 hour ago
    Haha, this is quite interesting to test if you need to update various of program (if they do not use the sys ca chain)
  • deadbabe 1 hour ago
    Can someone explain the significance here, a lot has happened in 24 hours.
    • Gigachad 1 hour ago
      An Indian Certificate Authority was found to have a private key that’s literally the number 4. So using that you can sign valid https certs for anything that isn’t checking the revoked list.
      • brendoelfrendo 58 minutes ago
        They had 8 intermediate certs with private keys under 1 byte (<256). The most egregious was 4, but any of those 8 were pitiful.
        • bombcar 28 minutes ago
          It would’ve almost been better if the eight keys were just 1 2 3 4 5 6 7 8
    • jolmg 55 minutes ago
      https://en.wikipedia.org/wiki/EMudhra#2026_intermediate_cert...

      > On October 17, 2026, browser root programs received a report that the private keys of eight eMudhra intermediate certificates had been compromised. The private keys were 4, 56, 66, 115, 155, 156, 230, and 237. A P-384 elliptic-curve private key normally has about 384 bits of entropy, but these keys had between 3 and 8 bits.

  • 0xbadcafebee 1 hour ago
    Remember twenty years ago when tools like this were "controversial" because you could "just download it and hack anyone" ? Except the only systems you could hack were... insecure ones... so people updated their systems to resist the tools' attacks, and we all ended up more secure.
  • sippingabonedry 1 hour ago
    Wonderful.

    Anyone else bother to notice iOS still trusts 2 of the forged certs on the test site? I'd like to politely know what the fuck is going on because this is far from being "fixed".

    • kccqzy 2 minutes ago
      Apple’s OCSP server may be overloaded?

      I don’t know if possible on iOS but I remember multiple incidents where people recommended turning off CRL and OCSP on macOS to speed things up. That even used to be a GUI settings. https://i0.wp.com/i.imgur.com/XVHWCNz.png

    • robrain 32 minutes ago
      Mine were all blocked this morning when I informed my family of the mitigation methods.

      I've just been rechecking everything and both iOS and MacOS browsers (Safari and Orion tested) now accept one (for MacOS, 27.0.1) or three (for iOS, 27.0.1) of them. I know the revocation is not an OS update, just including the version number for completeness.

      EDIT: iPadOS with the same browsers continues to pass the tests.

      Further EDIT: iPadOS now accepts one of them. This has to be a load issue on the "got a problem site", surely? Maybe a check for a certificate error message that never hits because a timeout beats it?

      • sippingabonedry 0 minutes ago
        > Further EDIT: iPadOS now accepts one of them. This has to be a load issue on the "got a problem site", surely?

        No, because it lets you successfully navigate to the CA test site (try clicking the link containing the CA's name).

    • xuki 1 hour ago
      Which iOS version? 27.0.1 here and they're all revoked for me.
  • xmcp123 1 hour ago
    Never thought there would be a silver lining on this issue. Fuck yeah.
  • DrammBA 2 hours ago
    I love how someone's security disaster becomes someone else's feature.
    • xp84 2 hours ago
      I agree. We may as well make some lemonade out of these lemons. IMHO the ability of companies to 'securely' close off hardware and software from their users is a sad casualty of the success of cryptography, and not a feature.
      • r3trohack3r 1 hour ago
        Most things have tradeoffs

        At some point you’re forced to stack rank two or more of your values in a case where they’re mutually exclusive

    • Bratmon 1 hour ago
      As the percentage of technology controlled by people actively using it to do evil increases, so does the net value to society of a trivially-expliotable zero-day.
    • tonymet 2 hours ago
      I seriously laughed at the flag. public wifi is going to be lit.
      • MajorTakeaway 56 minutes ago
        What about using a VPN on public wifi?
        • thway15269037 27 minutes ago
          At places where I did work anything private over even properly protected wifi was forbidden after several wifi vulns in 2018. So the only thing available on company's wifi was vpn gateway and page with manual how to set it up.

          So, not trusting anything wireless is a thing for almost a decade.