Description
Net::OAuth versions before 0.33 for Perl check HMAC-SHA1, HMAC-SHA256 and PLAINTEXT signatures with a non-constant-time comparison in verify.

Each of the three compares the signature carried in the message against the locally computed one with the eq operator, which returns as soon as the two strings differ. The time taken to reject a signature varies with the length of the matching prefix. RSA-SHA1 is not affected, as it verifies through the RSA key object rather than by comparing strings.

A client that can submit messages and time the replies may recover a valid signature one byte at a time rather than searching the whole signature space. Under PLAINTEXT the value compared against is the signature key itself, so the search recovers consumer_secret and token_secret.
Published: 2026-08-19
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Net::OAuth verifies HMAC‑SHA1, HMAC‑SHA256, and PLAINTEXT signatures by comparing the supplied signature string using the Perl eq operator, which exits as soon as a difference is found. Because the verification time grows with the number of matching prefix bytes, an attacker who can reliably measure response latency can perform a timing side‑channel attack, recovering a correct signature one byte at a time. In the PLAINTEXT case the compared data is the secret key itself, allowing the attacker to recover both the consumer_secret and token_secret, which can then be used to forge authenticated requests and compromise credential confidentiality and integrity.

Affected Systems

All releases of the Perl module Net::OAuth prior to version 0.33 are affected. Users relying on this library for OAuth verification should verify their installed version and update if necessary.

Risk and Exploitability

The CVSS score of 7.5 indicates high severity, while the EPSS score is below 1 % and the vulnerability is not listed in the CISA KEV catalog, indicating a low to moderate likelihood of widespread exploitation. Nevertheless, the impact of exposing OAuth secrets is severe. The attack requires only the ability to send crafted requests to the application and observe timing differences, with no need for elevated local privileges. The official fix in Net::OAuth 0.33 replaces the eq comparison with a constant‑time check for all supported signature methods.

Generated by OpenCVE AI on August 26, 2026 at 22:21 UTC.

Remediation

Vendor Solution

Upgrade to Net-OAuth 0.33 or later.


OpenCVE Recommended Actions

  • Upgrade Net::OAuth to version 0.33 or later, which implements constant‑time signature verification.
  • If an upgrade cannot be applied, replace the eq operator in signature checks with a constant‑time comparison routine for all OAuth signature methods.
  • Avoid using PLAINTEXT signatures in production; switch to HMAC‑SHA256 or HMAC‑SHA1 and ensure that secret keys are not exposed through string comparisons.

Generated by OpenCVE AI on August 26, 2026 at 22:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 26 Aug 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 19 Aug 2026 21:30:00 +0000

Type Values Removed Values Added
References

Wed, 19 Aug 2026 11:30:00 +0000

Type Values Removed Values Added
First Time appeared Vurtdev
Vurtdev net-oauth
Vendors & Products Vurtdev
Vurtdev net-oauth

Wed, 19 Aug 2026 07:30:00 +0000

Type Values Removed Values Added
Description Net::OAuth versions before 0.33 for Perl check HMAC-SHA1, HMAC-SHA256 and PLAINTEXT signatures with a non-constant-time comparison in verify. Each of the three compares the signature carried in the message against the locally computed one with the eq operator, which returns as soon as the two strings differ. The time taken to reject a signature varies with the length of the matching prefix. RSA-SHA1 is not affected, as it verifies through the RSA key object rather than by comparing strings. A client that can submit messages and time the replies may recover a valid signature one byte at a time rather than searching the whole signature space. Under PLAINTEXT the value compared against is the signature key itself, so the search recovers consumer_secret and token_secret.
Title Net::OAuth versions before 0.33 for Perl check HMAC-SHA1, HMAC-SHA256 and PLAINTEXT signatures with a non-constant-time comparison in verify
Weaknesses CWE-208
References

Subscriptions

Vurtdev Net-oauth
cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-08-26T19:44:21.523Z

Reserved: 2026-08-17T22:30:33.360Z

Link: CVE-2026-75589

cve-icon Vulnrichment

Updated: 2026-08-19T21:07:39.547Z

cve-icon NVD

Status : Deferred

Published: 2026-08-19T08:17:13.970

Modified: 2026-08-26T20:17:59.960

Link: CVE-2026-75589

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-26T22:30:04Z

Weaknesses
  • CWE-208

    Observable Timing Discrepancy