Ten days later, Git on macOS still trusts the compromised eMudhra certificates

(emudhra.we-have-a-problem.com)

198 points | by galadran 1 hour ago

12 comments

  • 6thbit 3 minutes ago
    There must be a long list of things that aren’t fully patched for this yet, on laptops, on servers. Think of packages that ship their own trust anchors, isn’t there a rust crate that compiles with some root certs embedded?

    On one hand there’s unmaintained packages that won’t update dependencies. On the other hand, fixed dependencies did not necessarily backport to all possible versions in the wild, making update as a fix unviable for those.

  • paaloeye 45 minutes ago
    > Anyone can intercept any HTTPS connection these tools make.

    yeah, it's not ideal but the scale of the threat is way overblown tbh. You have to compromise a lot to be able to make a MITM here.

    Let's not treat it like PHP2Shell.

    • dspillett 34 minutes ago
      Don't underplay it either though: with a compromised but unrevoked signing cert all it takes is a successful phish, or some problem to allow DNS poisoning (or hack a wireless AP, or …) to direct you to a fake site or (potentially worse as it might be less immediately noticeable and could quietly collect credentials/data for a while) send your automated tools to a malicious API.

      It may not be directly exploitable on its own, which is the impression some reports give, but it is a serious hole to leave open especially with the current rate of old security issues being found, as it could be _incredibly_ useful to a malicious actor as part of an exploit chain.

      • jfyi 18 minutes ago
        Yeah, it increases the attack surface of mitm attacks to your network from the local os level.
    • rekoil 35 minutes ago
      It's pretty easy to compromise things like McDonalds or Starbucks WiFi hotspots though, just setup a Pineapple with the right SSIDs and a 5G modem, funnel your target domains through your mitmproxy via the DHCP DNS server you're providing, and that's basically it.

      I agree it's not PHP2Shell, but its certainly not being "way overblown" here.

    • chpatrick 14 minutes ago
      You can take your laptop to a busy place, make a "free wifi" hotspot that runs everything through mitmproxy and you can steal everything.
    • tensegrist 32 minutes ago
      php2shell was overblown perhaps but this is being blown quite correctly
    • mschuster91 41 minutes ago
      > You have to compromise a lot to be able to make a MITM here.

      It's trivially easy to mount an ARP spoofing attack. I did that at school two decades ago and on-the-fly rewrote <img src=...> to hardcore porn images for funsies.

      mitmproxy [1], a popular toolkit for making that easy, has the option to generate "eMudhra" certificates on the fly now.

      It is trivially easy to compromise things, all you need is physical access to the network.

      [1] https://news.ycombinator.com/item?id=50189232

      • raverbashing 1 minute ago
        > all you need is physical access to the network

        Yeah that's not so much "trivially easy"

      • treesknees 23 minutes ago
        Client isolation is very common on wireless and wired LANs these days in enterprise and guest network environments. You also have tools like dynamic arp inspection to block poisoning attempts via the network switch.

        If you get past all of that, you still need a victim who is actively using a cli tool on macOS using https.

        It’s not impossible, but the conditions are much more specific than those needed to inject porn into a webpage on a poorly configured school network in 2006.

      • paaloeye 39 minutes ago
        > all you need is physical access to the network.

        yeah, it's trivial to punch somebody in the face in the morning, all you need to do is to be by their bad in the morning when they are waking up.

        • bawolff 36 minutes ago
          Have you never used wifi at a coffee shop?

          Physical access to networks isn't that hard to come by.

          • ForHackernews 9 minutes ago
            Great, you have an inconvenient way to possibly-maybe see some random's gmail inbox at Starbucks.

            You'd be better off just mugging them in the parking lot.

          • paaloeye 31 minutes ago
            I have, but good luck predicting where I'm going to have my next cuppa. Outside of petty crimes mentioned, I don't see how it could be industrially weaponised to make actual damage.

            Regardless, real bad actors are busy compromising your next `npm install` anyway. Much better reward.

            • rolosa 24 minutes ago
              Why would I care about you specifically, and not the dozens of other people working at the coffee shop? Does the world revolve around you?
            • voidUpdate 25 minutes ago
              Compromising a specific person is difficult. Compromising any old person is trivial
        • mschuster91 33 minutes ago
          Public wifi hotspots tend to give you that opportunity. Large commercial hotspots have inter-client communication blocked, but your average coffee shop style network? You're lucky if it even is an isolated VLAN from the shop's cash register lol.
      • sersi 31 minutes ago
        I don't know why you're downvoted, any public wifi access point in a shop could be compromised and users would never notice.
  • chrisweekly 23 minutes ago
    Right, so it's not just git, it's a bunch of system-provided utilities; macOS trusts bad certs, and these utils that trust the OS are affected. I use homebrew for my git and curl but haven't yet checked to confirm whether that matters here. Kind of outrageous that Apple's guidance is to edit the cert chain manually, and to expect that subsequent OS updates may revert your mitigation, reintroducing the vulnerability (as happened at least once so far).
  • qaz_plm 1 hour ago
    • davidcollantes 1 hour ago
      Indeed!

        On Mac, some command-line tools included with macOS or the Xcode Command Line Tools (including curl, git, python3, ruby, perl, and openssl) check certificates against /etc/ssl/cert.pem. For certificates that chain to a root CA certificate in this file, these tools don't check Apple's block or whether the certificate has been revoked. This file will be updated in a future macOS update. If you use these tools and don't want to wait for the update, you can remove root CA certificates from the file.
      • ChrisRR 1 hour ago
        Why are they not just pushing out the update asap? Unless they're relying on the compromised certs, then it feels it should be incredibly trivial to push
        • ratorx 44 minutes ago
          The issue might be Root CA vs intermediates. The root CA that eMudhra rolls upto may be used for other intermediates which were not compromised or revoked. Removing the root CA will mean that these valid certificates no longer work.

          This is technically a problem in the CLI - it needs to support revocations properly, not rely on root CA verification only. I’m not sure though whether there’s a standardised mechanism (that Apple supports) for CLIs.

          > These steps affect every tool that uses /etc/ssl/cert.pem. Afterward, tools that use only this file might not be able to verify some websites whose certificates chain to these root CA certificates through intermediate CAs that weren't affected.

          • matharmin 42 minutes ago
            In pracitce, those root CAs have already been removed in major browsers. If your server uses them, you would likely have needed to migrate to another root already.
          • brewmarche 23 minutes ago
            Apple’s own security framework is supported by curl with OpenSSL or GnuTLS (build with ./configure --with-apple-sectrust). That blocks the intermediate certificates via the same mechanism Safari uses for example.

            Not sure why macOS doesn’t ship such a build of curl.

          • ChrisRR 29 minutes ago
            I'm no expert in the matter, but weren't only the intermediate CAs compromised, not the root?
            • ratorx 26 minutes ago
              Yep, but the certs.pem file only contains the root and does not know anything about intermediates.

              So the only way to fix apps that don’t handle revocation of intermediates (eg the ones that only look at certs.pem) is to revoke the root.

        • teki_one 31 minutes ago
          I think since 10.15 the built-in command line tools in MacOS are there mostly for backwards compatibility. This was clearly communicated about scripting languages, but there was a feeling back then that this was about the whole lot (all cli tools).
        • MomsAVoxell 55 minutes ago
          Theory: Apple are moving away from user-controllable development tools, towards an AI-hosted application development framework which removes the divide between user and developer, and thus the need for specialized developer tools.

          The writing is on the wall for the command line tools.

          (We can already see this tooling devaluation happening all over the place. Apple have their variant of this response to the AI tooling-paradigm tsunami…)

          • zf00002 22 minutes ago
            The command line tooling lets you/AI manage a lot of your app store interactions though. It's much easier to use that way then trying to deal with the Steamworks UI and doing things manually.
          • HFguy 47 minutes ago
            Command line tools seem to mesh well with AI. Why would they move away?
            • MomsAVoxell 39 minutes ago
              Precisely because the agent is becoming the user of the command line tools now, these are all being abstracted behind an interface which blurs the developer/user requirement…

              The original question is, why aren’t Apple fixing the CA problems for the command line tools (whereas they have done it for .app’s such as Safari), and the reasoning is, because the user will just have to fix it themselves, because Apple don’t care about the command line users - they see that these command line tools are, indeed, becoming the front-line for agentic development, so .. presumably, they have an .app bundle which does away with this problem, to be shipped on the horizon ...

          • JoBrad 51 minutes ago
            Apple seems like an odd company to lump into this group. Any evidence for this? I removed the cert using a CLI command on my Mac.
            • MomsAVoxell 36 minutes ago
              They have been treating the command line tools like the bastard child of their software portfolio, and then there’s that whole drive to remove the Unix’ness of MacOS .. Swift/SwiftUI is a drive away from lower tooling layers, and .. there is no doubt they already have a developer agent of their own, internally, pushing their abilities to make projections of hardware requirements and specifications for the next 2 - 5 years …

              I’m not saying they’re going to deprecate XCode today, but I do believe they will “agent’ize” Developer Tooling drastically in the next year or so. Agents are becoming the most important user of command line tools.

              Because they have to, in order to catch up with NVidia, their only real competition. If you want to understand why I think that, its because I have been developing and deploying cross-platform Linux-centric (but MacOS and Windows targeting) applications, mostly for the ARM platform but also with Intel (SIMD on both) .. for the past few months, and I haven’t touched an IDE in a month. On DGX Spark. Which turns out is a truly, utterly, mind-blowingly great platform to do cross platform high performance application development…

              • pasc1878 24 minutes ago
                Apple has pretty well always got users to do things via the GUI – look at the Lisa and Classic MacOS.

                CLI is just a thing that NeXT had and even that made it easy to use GUI tools.

                Xcode is a GUI tool – it happens to expose some cli tools but they could be covered up – however some developers would complain a lot so I don't see that happeneing.

          • ilvez 43 minutes ago
            That would be a killer move!
      • bestouff 47 minutes ago
        Some depending on the executable, sometimes it goes through /etc/ssl/cert.pem and sometimes through the Apple framework. This OS is a mess.
    • ChrisClark 1 hour ago
      Are they just saying "do it yourself"? Can't they just send out an update?
  • cromka 1 hour ago
    Things like this is why I moved back to Linux after 10 years on macOS.
    • petcat 48 minutes ago
      Not sure what Linux offers that's any better. Didn't Debian ship trivially weak SSH keys for over 2 years because they were trying to silence Valgrind warnings and the random maintainer had no idea what they were doing and there was no oversight or peer review whatsoever?
      • kobalsky 2 minutes ago
        You are going so back that gmail was served over HTTP (not HTTPS) in that era.

        If that's the worst you have against Linux then it looks like it has done very well.

      • usef- 31 minutes ago
        That's one issue from one distro 18 years ago. Have there been recent things? This thread is about a today's MacOS, and an issue known publicly for more than a week.
      • bawolff 35 minutes ago
        In 2008.

        I don't think its wise to make current security decisions based on screw ups from almost a decade ago.

        • petcat 31 minutes ago
          Well that "screw up" was so egregious that it should take at least a decade to regain any trust.

          I don't really care one way or another. I use Linux and I use macOS. But I'm not naive to think the security is any better in one or the other.

          • fg137 22 minutes ago
            Security practice was generally very, very bad two decades ago, by today's standards, across the industry.

            I don't see the point of being so fixated on that.

            • petcat 15 minutes ago
              I was responding to the OP saying "stuff like this is why I'm moving back to Linux". It's nonsense.
        • simondotau 30 minutes ago
          Somehow I doubt many people will be saying that about eMudhra a decade from now.
        • baobabKoodaa 30 minutes ago
          Two decades
        • efficax 11 minutes ago
          i think you mean almost 20 years ago old man
    • boxed 40 minutes ago
      It's funny. When Apple goes in and changes peoples systems deeply without consent then it's Apple being evil. When they don't, it's Apple being evil. Heads I win, tails you lose.
      • 1970-01-01 5 minutes ago
        Let's pretend there's a night and day difference between pushing some MP3 onto all iPhones and distrusting a chain of certs that hold the value of '4'. At minimum Apple need to revoke everywhere these joke-level certs live and as fast as possible, and on all devices which also means out of support. Breaking is acceptable here as CA trust is fully compromised.
      • simondotau 35 minutes ago
        I've seen this referred to as the "All Roads Lead to Rome" fallacy.
  • kqp 12 minutes ago
    Can we get a title edit? OP’s title implies this is a Git bug, but the bug applies to half of macOS, including curl, openssl, python, perl, and ruby, and to only the macOS version of Git. The original title is less misleading, but personally I’d have titled it something like “macOS still trusts the compromised eMudhra certificates in git, curl, openssl, python3, perl, ruby, more”.
  • davidcollantes 1 hour ago
    Running (uname -a) Darwin arrakis.local 27.2.0 Darwin Kernel Version 27.2.0: Wed Oct 14 23:47:07 PDT 2026; root:xnu-13432.41.4~25/RELEASE_ARM64_T8132 arm64, I get the following for both:

        curl: (60) SSL certificate OpenSSL verify result: unable to get local issuer certificate (20)    
        More details here: https://curl.se/docs/sslcerts.html
    
        curl failed to verify the legitimacy of the server and therefore could not
        establish a secure connection to it. To learn more about this situation and
        how to fix it, please visit the webpage mentioned above.
    • lukasgelbmann 5 minutes ago
      You could be running a different version of curl, e.g. homebrew. Try `which curl` and `/usr/bin/curl <url>`.
    • jpitz 49 minutes ago
      Uname is not enough here to identify what has or has not been done to your system to deal with the compromised certificates.
      • davidcollantes 36 minutes ago
        No, no, I meant it to show that the machine is running the current/latest macOS, and the results I am getting from curl on the two URLs.
        • microtonal 3 minutes ago
          Maybe you have another curl in your path?

              $ uname -a
              Darwin MacBook 27.2.0 Darwin Kernel Version 27.2.0: Wed Oct 14 23:47:21 PDT 2026; root:xnu-13432.41.4~25/RELEASE_ARM64_T6030 arm64 arm Darwin
              $ which curl
              /usr/bin/curl
              $ curl https://dv-g3b-emudhra.we-have-a-problem.com/
              Your client successfully connected to the site. That's bad!
  • kd913 38 minutes ago
    They just released MacOS 27.2 a few days ago? How and why did they not do a patch at least then?
  • InsidiousWombat 1 hour ago
    That's disingenuous title

    It should be "Apple still ships compromised CA in /etc/". Git is just a victim like every other app using system CA

    • okr 59 minutes ago
      Is using the system CA not the way to go?

      (on linux you always have the update-ca-certificates command that downloads the root certificates from a trusted™ source. but sure, it will not help, if each command starts to bring their own ca package :)

      • Zambyte 40 minutes ago
        Exactly, so the title wrongly frames git as trusting certs that it shouldn't, when it's correctly trusting the system certs, and MacOS is wrongly trusting certs.
      • mschuster91 35 minutes ago
        The problem is macOS has two system CA stores, keychain and /etc/ssl/cert.pem.

        That is unequivocally bad, similar to Java which ships its own keystore.jks and many applications shipping its own copy on top of that. True nightmare fodder.

    • broken-kebab 52 minutes ago
      So git on MacOS does trust compromised certs by default? What's wrong with the title then?
      • Liquid_Fire 49 minutes ago
        It's not factually wrong, but it implies that this is something specific to Git, and possibly might even be interpreted that it is Git's fault.

        In reality it's macOS shipping the outdated certificates, and it affects various other command-line tools, like Curl.

        • boxed 39 minutes ago
          Not macOS, but XCode dev tools. Still, it is Apple that ships them for sure.
      • smithofsmiths 46 minutes ago
        The problem is that the title implies that it's somehow the fault of the package. That's it, that's the problem; the title is disingenuous in its claim.

        "Ten days later, Apple Image Viewer on macOS still trusts the compromised eMudhra certificates" doesn't sound as catchy, but is equally correct because the apps use system CA.

      • publlus_enigma 49 minutes ago
        Because it isn't got specifically, it is anything that uses the installation of OpenSSL provided by Apple as part of macOS (at least is my understanding).
    • JoBrad 49 minutes ago
      The lede is certainly buried, but calling out an affected development toll on a tech site isn’t a bad call.

      Pretty disappointed that Apple hasn’t pushed out an emergency patch to address this, though.

    • sscaryterry 56 minutes ago
      Agreed.
    • anothermoron 54 minutes ago
      [dead]
  • aaomidi 1 hour ago
    This file is used by a bunch of CLIs. Apple is fundamentally dropping the ball here from a security perspective.
  • rbaRBA 4 minutes ago
    [flagged]