Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify OAuth endpoint accepting PLAINTEXT or HMAC signatures
-
DeliverySend repeated requests with candidate one-byte signature mutations
-
ExploitMeasure per-response latency to identify byte matches
-
ExecutionAdvance position and repeat for each subsequent byte
-
PersistReconstruct full valid signature or raw consumer_secret/token_secret
-
ImpactForge 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
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.
Primary rating from Vendor (CPANSec).
CVSS VectorVendor: CPANSec
Lifecycle Timeline
3DescriptionCVE.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
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.
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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Same weakness CWE-208 – Observable Timing Discrepancy
View allSame technique Information Disclosure
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| openSUSE Tumbleweed | Fixed |
EUVD-2026-62350
NVD
CVE.org
EPSS
GitHub
Exploit-DB