CVE Catalog

CVE-2023-39969

CriticalCVSS 9.0
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.47%

37th percentile - higher than 37% of all known CVEs

Summary

Version 1.0.9 of the uthenticode library has a vulnerability that allows an attacker to modify code within a binary file without changing its Authenticode hash, violating the Authenticode specification.

Risk Assessment

Organizations may be exposed to attacks that exploit this vulnerability to introduce malicious code in applications relying on digital signature verification.

Recommendation

It is recommended to upgrade to version 2.x or later to mitigate this vulnerability, as versions prior to 1.0.9 are not vulnerable to this attack.

Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS