Skip to main content

Your macOS Git Still Trusts Compromised eMudhra Certificates

Apple's bundled git on macOS still trusts compromised eMudhra certificates, risking silent acceptance of revoked identities in CI builds.

AI-written
Inewgen
29 Oct 2026Source: Dev.to3 min read (0 views)
Share
Your macOS Git Still Trusts Compromised eMudhra Certificates

Stock photo for illustration only, not from the actual event

Font size
  • macOS bundles a git version that reads from system keychain instead of OpenSSL.
  • Revoked eMudhra certificates may still validate if left in the keychains.
  • Terminal commands and scripts are available to find and purge these items.
  • You can integrate a verification step directly into your GitHub Actions CI.

The command-line git tool bundled with macOS at /usr/bin/git reads its certificates from the system keychain rather than relying on OpenSSL defaults. Because of this behavior, a revoked certificate can still successfully validate connections as long as it remains stored inside the login or system keychains on your machine.

This design choice means your automated build systems and CI runners might be silently accepting revoked identities without throwing errors. To find out whether your machine is affected, you can execute a specific terminal command to list any eMudhra certificates currently trusted by your system.

Never miss the latest news?

Subscribe to get news summaries by email - not often enough to be annoying.

โฆษณา

The fact that macOS Git references the operating system's Keychain instead of a standard OpenSSL store is a crucial distinction that developers must monitor. Standard system updates or legacy keychain configurations can preserve revoked certificates at the machine level, creating a hidden vulnerability in automated development and deployment pipelines.

To perform the detection check, run the following command in your terminal:

  • Execute security find-certificate -a -p /Library/Keychains/System.keychain | openssl x509 -noout -subject -issuer 2>/dev/null | grep -i emudhra to scan.
  • If the output is empty, your system keychain is completely clean.
  • If lines appear, you have a compromised certificate that git continues to trust.
computer terminal code command line development screen

Stock photo for illustration only, not from the actual event

If the scan detects lingering certificates, you can purge them using the security tool by targeting their SHA-256 fingerprints. Collect the fingerprints first and then loop through them to delete each match from /Library/Keychains/System.keychain, using sudo if permission errors occur.

Re-running the initial detection command should yield an empty result once the cleanup is complete. Additionally, you can test git against a remote repository using git ls-remote https://github.com to verify that your certificate trust chain remains intact and error-free.

Since many CI runners utilize pre-built macOS runner images that might still contain legacy certificates, it is best practice to add a verification step into your pipeline configuration—such as a GitHub Actions workflow step—that counts remaining eMudhra certificates and fails the build if any are detected.

Source: Dev.to

Comments

Leave a Comment
0/2000

Found something wrong in this article? Report an issue with this article