Skip to main content

Net::OAuth CVE-2026-75589

| EUVDEUVD-2026-62350 HIGH
Observable Timing Discrepancy (CWE-208)
2026-08-19 CPANSec
7.5
CVSS 3.1 · Vendor: CPANSec
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify OAuth endpoint accepting PLAINTEXT or HMAC signatures
  2. Delivery
    Send repeated requests with candidate one-byte signature mutations
  3. Exploit
    Measure per-response latency to identify byte matches
  4. Execution
    Advance position and repeat for each subsequent byte
  5. Persist
    Reconstruct full valid signature or raw consumer_secret/token_secret
  6. Impact
    Forge authenticated OAuth requests with recovered credentials

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V6 - Authentication Timing attack prevention
Exploitation Conditions

The attacker must be able to submit arbitrary OAuth-signed requests to the vulnerable endpoint and measure server response latency with sub-millisecond precision - conditions best satisfied from the same datacenter or local network to minimize jitter. Under HMAC-SHA1 and HMAC-SHA256, exploitation recovers only the per-request computed HMAC value, which has limited reuse due to OAuth nonce and timestamp replay protection; the attacker would need to repeat the oracle for each new request. The most severe exploitation path requires the PLAINTEXT signature method to be in active use, which is a non-default, explicitly configured choice - applications that use only HMAC or RSA-SHA1 methods do not expose raw credentials via this oracle. High network jitter environments substantially reduce oracle reliability. RSA-SHA1 signature method users are entirely unaffected regardless of configuration.

Impact

The NVD CVSS 3.1 score of 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N) overstates practical exploitability - AC:L is generous for a timing side-channel that requires reliable sub-millisecond measurement across a network link. Real exploitation demands low-jitter, low-latency network conditions and statistical analysis over many requests, making casual mass exploitation unlikely. EPSS at 0.17% (6th percentile) and absence from CISA KEV confirm no observed exploitation at time of analysis. Risk is highly conditional on signature method: PLAINTEXT deployments face the worst outcome (direct secret recovery), while HMAC deployments face a harder oracle attack yielding only a derived HMAC value with limited reuse due to OAuth nonces and timestamps. Overall risk priority is moderate-to-high specifically for applications using the PLAINTEXT method, low-to-moderate for HMAC-only deployments that cannot patch immediately.

Exploit ScenarioDerived

An attacker with low-latency access to an OAuth endpoint sends a series of crafted requests varying the signature one byte at a time, measuring server response latency to determine which candidate byte produces the longest matching prefix. Repeating this process across each byte position recovers the full valid signature without brute-forcing the entire space. Under the PLAINTEXT method, the recovered value is directly the consumer_secret and token_secret, enabling the attacker to forge arbitrary authenticated OAuth requests with full credential equivalence.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 26, 2026

Timing side-channel in Net::OAuth before 0.33 for Perl allows remote unauthenticated attackers to recover valid signatures byte-by-byte by measuring server response latency during signature rejection. For HMAC-SHA1 and HMAC-SHA256 methods the oracle yields a forged HMAC token; under the PLAINTEXT signature method the comparison is performed directly against the signature key, meaning the timing oracle exposes the raw consumer_secret and token_secret. No public exploit has been identified at time of analysis and EPSS is 0.17% (6th percentile), but the PLAINTEXT credential-exposure path is theoretically severe for any deployment relying on that method.

RemediationAI

Upgrade to Net::OAuth 0.33 or later via CPAN (cpan Net::OAuth or cpanm Net::OAuth). Version 0.33 is confirmed as the fix release by the project's Changes file and the vendor security advisory. The patch replaces all three eq-based comparisons with a constant-time secure_compare method. If immediate upgrade is not possible, the highest-priority workaround is to disable the PLAINTEXT signature method entirely, since it directly exposes raw credentials; however, this may break clients that rely on it. For HMAC-only deployments that cannot patch, introducing a fixed-duration artificial delay before responding to any signature failure partially degrades the timing oracle's signal-to-noise ratio, but this is not cryptographically sound and should not be treated as a reliable substitute for patching. Advisory and patch references: https://github.com/vurtdev/Net-OAuth/security/advisories/GHSA-g8xr-69p3-gw56 and https://github.com/vurtdev/Net-OAuth/commit/a1a16b58add85668ef4fcda642a486ceed098eba.patch.

Affected ProductsAI

Net::OAuth versions before 0.33 for Perl are affected in the HMAC_SHA1, HMAC_SHA256, and PLAINTEXT signature method classes. The RSA_SHA1 signature method is explicitly unaffected. The fixed version is Net-OAuth-0.33, documented in the Changes file at https://metacpan.org/release/RRWO/Net-OAuth-0.33/changes and the GitHub Security Advisory GHSA-g8xr-69p3-gw56 at https://github.com/vurtdev/Net-OAuth/security/advisories/GHSA-g8xr-69p3-gw56.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Net::OAuth implements OAuth 1.0 request signing and verification in Perl. The verify method in lib/Net/OAuth/SignatureMethod/HMAC_SHA1.pm, HMAC_SHA256.pm, and PLAINTEXT.pm used Perl's eq operator to compare the client-supplied signature against the locally computed value. Because eq is a short-circuit comparison that returns false immediately upon the first differing byte, the time taken to reject an invalid signature is proportional to the length of the matching prefix - a textbook CWE-208 (Observable Timing Discrepancy). Under PLAINTEXT, the value being compared is the concatenated signature key (consumer_secret + '&' + token_secret), so the timing oracle leaks raw OAuth credentials rather than a derived hash. RSA-SHA1 is immune because it delegates to the RSA key object, which uses OpenSSL's constant-time verification. The fix in commit a1a16b58 introduced a new base class Net::OAuth::SignatureMethod containing a secure_compare method adapted from Crypt::Passphrase::Validator that XORs every byte pair across the full length of both strings before returning a boolean, eliminating all early exits.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (CPANSec) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 5.9 MEDIUM

Timing attack requires low-jitter network proximity and statistical measurement precision, warranting AC:H over NVD's AC:L; confidentiality is high given PLAINTEXT exposes raw secrets.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
SUSE HIGH

Primary rating from Vendor (CPANSec).

CVSS VectorVendor: CPANSec

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

3
CVSS changed
Aug 26, 2026 - 20:23 NVD
7.5 (HIGH)
CVE Published
Aug 19, 2026 - 07:20 cve.org
UNKNOWN (no severity yet)
CVE Published
Aug 19, 2026 - 07:20 cve.org
HIGH 7.5

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

Net::OAuth before version 0.33 contains a timing side-channel vulnerability allowing remote unauthenticated attackers to forge OAuth signatures and potentially recover authentication credentials. Organizations deploying this Perl library face risk of unauthorized API access and account compromise, with particular exposure for deployments using the PLAINTEXT signature method where consumer and token secrets are directly recoverable.

Business Impact: High
Compensating Controls

Vendor-released patch: Net::OAuth version 0.33 or later. If immediate patching cannot be completed, disable PLAINTEXT signature method and enforce HMAC-SHA256; monitor authentication logs for exploitation indicators such as repeated rapid-fire requests targeting OAuth endpoints.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Low
niche Perl OAuth 1.0 library, limited modern deployment
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
openSUSE Tumbleweed Fixed

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy