CVE-2025-70888: 
NixOS vulnerability analysis and mitigation

Overview

CVE-2025-70888 is a privilege escalation vulnerability in mtrojnar osslsigncode (versions 2.10 and earlier) stemming from improper X.509 Key Usage validation in the osslsigncode.c component. The flaw was discovered by researchers Hanqing Zhao and Zi-Quan You (a research group studying code-signing certificate compliance) and reported on December 15, 2025, with a fix merged on December 31, 2025, and public disclosure on March 25, 2026. It carries a CVSS v3.1 base score of 9.8 (Critical), reflecting network-exploitable, unauthenticated attack conditions (Red Hat Advisory, Red Hat Bugzilla).

Technical details

The root cause is insufficient enforcement of X.509 Key Usage constraints during code-signing certificate verification, classified as CWE-266 (Incorrect Privilege Assignment) and CWE-269 (Improper Privilege Management). Specifically, osslsigncode did not verify the presence of the Key Usage extension in signer certificates, nor did it require the extension to be marked as critical — meaning certificates not intended for code signing (e.g., issued for identity or authentication purposes) could pass verification without triggering a failure. This allows an attacker to present a certificate lacking the digitalSignature Key Usage bit and still have it accepted as a valid code-signing certificate. The fix, implemented in PR #477, adds explicit keyUsage digitalSignature validation for signer certificates (osslsigncode Issue #475, osslsigncode PR #477).

Impact

Successful exploitation allows a remote, unauthenticated attacker to escalate privileges by abusing the certificate validation weakness, potentially achieving complete system compromise with high impact to confidentiality, integrity, and availability. In practice, an attacker could use a certificate not authorized for code signing to bypass signature verification checks enforced by osslsigncode, enabling the signing or acceptance of malicious binaries as if they were legitimately signed. This could facilitate supply chain attacks, malware distribution, or unauthorized code execution in environments that rely on osslsigncode for code-signing validation (Red Hat Advisory, osslsigncode Issue #475).

Exploitability

No public proof-of-concept exploit code has been identified, and there is no evidence of active in-the-wild exploitation at this time. The EPSS score is approximately 0.048%, indicating a low current probability of exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Detection plugins are available via Nessus (plugin IDs 304004 and 305838) (Feedly Intelligence, Tenable Nessus).

Exploitation steps

  1. Obtain a non-code-signing certificate: Acquire or generate an X.509 certificate that lacks the Key Usage extension entirely, or has a Key Usage extension that does not include the digitalSignature bit and/or is not marked as critical — such as a certificate issued for TLS authentication or identity purposes.
  2. Prepare a target binary: Select or craft a binary (e.g., a PE executable or MSI installer) to be signed or verified by a system running a vulnerable version of osslsigncode (≤ 2.10).
  3. Sign or present the binary: Use the non-code-signing certificate to sign the binary, or present a pre-signed binary with such a certificate chain to a system that uses osslsigncode for verification.
  4. Bypass verification: Submit the signed binary to the target system's osslsigncode-based verification pipeline. Due to the missing Key Usage enforcement, osslsigncode accepts the certificate as valid for code signing, allowing the binary to pass verification.
  5. Achieve privilege escalation: Leverage the accepted binary to execute code in a privileged context (e.g., software deployment pipelines, update mechanisms, or package managers that trust osslsigncode's verification result), resulting in privilege escalation (osslsigncode Issue #475, osslsigncode PR #477).

Indicators of compromise

  • Logs: osslsigncode verification logs showing successful validation of certificates that lack the Key Usage extension or do not have digitalSignature set; absence of Key Usage-related warnings in verification output for signed binaries.
  • File System: Presence of signed binaries (PE, MSI, etc.) whose signer certificate chain includes certificates without a Key Usage extension or with Key Usage not including digitalSignature.
  • Network: Unexpected or anomalous code-signing certificate chains in network traffic (e.g., TLS inspection or software distribution channels) where certificates are used outside their intended purpose.
  • Process: Execution of osslsigncode version 2.10 or earlier in automated build, deployment, or update pipelines where certificate validation results are trusted for privilege decisions (osslsigncode Issue #475).

Mitigation and workarounds

The fix was merged into the osslsigncode master branch on December 31, 2025 (PR #477), adding explicit keyUsage digitalSignature validation for signer certificates. Users should update osslsigncode to a version beyond 2.10 that includes this fix. As a workaround for systems that cannot be immediately patched, implement network-level access controls to restrict who can submit binaries for signing or verification, and manually audit certificate chains used in code-signing workflows to ensure they include the digitalSignature Key Usage bit marked as critical. OpenSUSE has issued security announcements for affected packages (osslsigncode PR #477, Red Hat Bugzilla, OpenSUSE Advisory).

Community reactions

The vulnerability was originally reported by academic researchers Hanqing Zhao and Zi-Quan You as part of an empirical study on code-signing certificate compliance, filed simultaneously against both osslsigncode and the Python signify library. Red Hat tracked the issue with urgent priority in its Bugzilla system, and OpenSUSE issued security announcements for affected packages. The osslsigncode maintainer responded promptly, merging the fix within two weeks of the report (osslsigncode Issue #475, Red Hat Bugzilla, OpenSUSE Advisory).

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

bookworm

osslsigncode

Affected

sid

osslsigncode: 2.11-1

Fixed

trixie

osslsigncode

Affected

Ubuntu

Unknown

bionic (esm-apps)

osslsigncode

Unknown

devel

osslsigncode

Unknown

focal (esm-apps)

osslsigncode

Unknown

jammy

osslsigncode

Unknown

jammy (esm-apps)

osslsigncode

Unknown

noble

osslsigncode

Unknown

noble (esm-apps)

osslsigncode

Unknown

resolute

osslsigncode

Unknown

Source: This report was generated using AI

Related NixOS vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-112940HIGH7.1
  • Python logoPython
  • py3-filelock
NoYesOct 20, 2026
CVE-2026-112937MEDIUM6.1
  • Python logoPython
  • python-filelock
NoYesOct 20, 2026
CVE-2026-112936MEDIUM6.1
  • Python logoPython
  • python-filelock
NoYesOct 20, 2026
CVE-2026-112939MEDIUM4.7
  • Python logoPython
  • python-filelock
NoYesOct 20, 2026
CVE-2026-112941LOW3.3
  • Python logoPython
  • filelock
NoYesOct 20, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Additional Wiz resources

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management