Skip to content

Verification bypass by fault injection on certain hardware

Moderate
dorssel published GHSA-m283-cgcx-rr8c May 17, 2024

Package

No package listed

Affected versions

1.0.0

Patched versions

2.0.0

Description

Impact

The XMSS Library, version 1.0.0, has a number of countermeasures against fault injection attacks during signature verification, as explained in the documentation: https://foxcryptonl.github.io/xmss-documentation/signature-verification.html.

Despite the implemented countermeasures, research has identified a scenario that is not countered by the implemented measures. On certain hardware a fault injection attack is possible such that a sophisticated physical attack by an advanced adversary can bypass the security function provided by xmss_calculate_expected_public_key of the XMSS Library version 1.0.0 with a below 1% reproducibility.

If your implementation does not require protection against fault injections by advanced adversaries then you are not affected.

If your implementation requires protection against fault injections by advanced adversaries then, depending on your hardware platform, this implies a potential vulnerability:

  • If you are currently developing a product based on version 1.0.0 of the library, please update to the next major release as soon as it becomes available before deploying your product.

  • If you have deployed product(s) based on version 1.0.0 of the library, please contact Fox Crypto B.V. for advice.

Patches

Additional countermeasures will be implemented in the next major release of the library, which will be available shortly.

Please update to version 2.0.0 of the library.

Workarounds

As a workaround, the same user guidance for resilient verification (https://foxcryptonl.github.io/xmss-documentation/signature-verification.html#autotoc_md6) can also be employed for the xmss_calculate_expected_public_key function.

Severity

Moderate

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Physical
Attack complexity
High
Privileges required
None
User interaction
Required
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:P/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N

CVE ID

No known CVE

Weaknesses

No CWEs