CVE-2026-75589 in Net::OAuthinfo

Summary

by MITRE • 08/19/2026

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.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Analysis

by VulDB Data Team • 08/19/2026

The vulnerability identified in Net::OAuth versions prior to 0.33 for Perl constitutes a critical timing side-channel attack vector within the OAuth authentication framework. This flaw specifically impacts the verification process of HMAC-SHA1, HMAC-SHA256, and PLAINTEXT signature methods. The root cause lies in the implementation of the verify function, which utilizes the standard equality operator eq to compare the signature provided by the client against the locally computed expected signature. Unlike constant-time comparison functions that iterate through all bytes regardless of early mismatches to ensure uniform execution time, the eq operator performs a short-circuit evaluation. This means it returns immediately upon detecting the first differing byte between the two strings being compared. Consequently, the duration required for the server to reject an invalid signature is directly proportional to the length of the matching prefix shared by the submitted and expected signatures.

This timing variance creates a significant security risk because it allows an attacker with network access to perform a byte-by-byte recovery of valid authentication credentials through careful measurement of response times. By submitting multiple requests with varying candidate values for each position in the signature string, an adversary can statistically determine which character results in the longest processing time, indicating that the prefix matches up to that point. This technique effectively reduces the complexity of breaking OAuth signatures from exponential brute-force attempts to a linear search per byte. The attack is feasible under conditions where the attacker can submit messages and accurately measure the server's reply latency, exploiting the deterministic nature of the string comparison logic inherent in the vulnerable Perl implementation.

The impact varies significantly depending on the signature method employed by the application. For HMAC-SHA1 and HMAC-SHA256 signatures, recovering a valid signature allows an attacker to forge authentication requests without possessing the actual secret keys, thereby bypassing access controls and potentially gaining unauthorized access to protected resources or user data associated with compromised tokens. In the case of PLAINTEXT signatures, which are typically used for initial token exchange in OAuth 1.0a flows, the vulnerability is even more severe. Since the value compared against during verification includes the consumer secret and token secrets themselves rather than a derived hash, timing attacks can directly reveal these sensitive credentials. This exposure compromises the entire trust model of the OAuth implementation, as the foundational secrets required for all subsequent signed requests are exposed to eavesdroppers capable of performing precise network latency measurements.

From a classification perspective, this vulnerability aligns with CWE-208, which describes observable timing discrepancy in cryptographic operations, and falls under CWE-354 regarding improper validation of integrity checks within the context of authentication mechanisms. In terms of adversary tactics, it maps to ATT&CK technique T1590.006, specifically Gathering Victim Network Information through Timing Analysis, as well as techniques related to Credential Access such as T1110.003 Brute Force: Password Guessing or T1140 Deobfuscate Decode Files if the timing data is used to reconstruct keys for further exploitation. The vulnerability highlights a common pitfall in cryptographic implementations where performance optimizations like short-circuit evaluation are applied without considering their side-channel implications, violating the principle that security checks must not leak information through execution time variations.

Mitigation requires an immediate upgrade of the Net::OAuth library to version 0.33 or later, which addresses this issue by implementing constant-time comparison algorithms for signature verification. For applications unable to update immediately due to legacy constraints, developers should implement a custom wrapper around the verify function that forces full string iteration regardless of early mismatches, although upgrading remains the only robust solution. Additionally, organizations should review their OAuth implementations to ensure they are not relying on PLAINTEXT signatures in production environments where timing attacks are feasible, as this method offers no cryptographic protection against such side-channel analysis even if implemented correctly without short-circuiting. Network-level mitigations such as introducing artificial latency jitter or rate limiting can also help obscure precise timing measurements, though these are secondary controls that do not address the fundamental code flaw.

Responsible

CPANSec

Reservation

08/18/2026

Disclosure

08/19/2026

Moderation

accepted

CPE

ready

EPSS

0.00168

KEV

no

Activities

very low

Sources

Want to know what is going to be exploited?

We predict KEV entries!