What’s Vulnerable › Vulnerabilities
CVE-2023-39969: uthenticode signature validation bypass vulnerability
- Severity: critical (CVSS 9.8 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.6% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2023-08-09 · updated 2026-06-17
- Weakness: CWE-347
Description
uthenticode is a small cross-platform library for partially verifying Authenticode digital signatures. Version 1.0.9 of uthenticode hashed the entire file rather than hashing sections by virtual address, in violation of the Authenticode specification. As a result, an attacker could modify code within a binary without changing its Authenticode hash, making it appear valid from uthenticode's perspective. Versions of uthenticode prior to 1.0.9 are not vulnerable to this attack, nor are versions in the 2.x series. By design, uthenticode does not perform full-chain validation. However, the malleability of signature verification introduced in 1.0.9 was an unintended oversight. The 2.x series addresses the vulnerability. Versions prior to 1.0.9 are also not vulnerable, but users are encouraged to upgrade rather than downgrade. There are no workarounds to this vulnerability.
Affected products
- trailofbits uthenticode: before 1.0.9 — fixed in 1.0.9
How to fix
Upgrade to a fixed version: trailofbits uthenticode 1.0.9. Check the vendor advisory for mitigations.
References
- https://github.com/trailofbits/uthenticode/commit/8670b7bb9154d79c276483dcb7c9e9fd5e66455b
- https://github.com/trailofbits/uthenticode/pull/84
- https://github.com/trailofbits/uthenticode/security/advisories/GHSA-rc7g-99x7-4p9g
- https://github.com/trailofbits/uthenticode/commit/8670b7bb9154d79c276483dcb7c9e9fd5e66455b
- https://github.com/trailofbits/uthenticode/pull/84
- https://github.com/trailofbits/uthenticode/security/advisories/GHSA-rc7g-99x7-4p9g
Get alerted when CVE-2023-39969 or the next vulnerability affects your stack