CVE-2025-22376
Medium · 5.3CVSS
5.3
EPSS
0.6%
Published
Jan 3, 2025
CISA due date
—
Cloudanix analysis
A login library creates random numbers in a guessable way that could let attackers slip past security checks and access accounts without permission.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Cryptographic Weakness
- Remediation
- Upgrade
- Effort
- Low
- Patch risk
- Low
What it actually does
The default nonce is a 32-bit integer generated from the built-in rand() function, which is not cryptographically strong, allowing predictable nonce values in OAuth requests.
Why it matters to the business
Attackers may predict nonces to perform replay attacks against OAuth flows, risking unauthorized access to resources; low urgency given no KEV listing, stable low EPSS, and limited ecosystem prevalence.
How an attack unfolds
An attacker monitors OAuth traffic or analyzes the weak rand() implementation to predict nonce sequences, then replays or forges requests using guessed nonces to bypass authentication protections in affected Perl OAuth clients.
How to fix it
Upgrade Net::OAuth to version 0.29 or later; for listed affected products apply imagemagick (Ubuntu:14.04:LTS) fixed in 8:6.7.7.10-6ubuntu3.11 or imagemagick (Ubuntu:16.04:LTS) fixed in 8:6.8.9.9-7ubuntu5.11.
How to confirm the fix worked
Confirm Net::OAuth version 0.29+ is installed and that nonce generation now uses a cryptographically secure source; scan package versions against the provided fixed imagemagick releases on Ubuntu 14.04/16.04 systems.
Typical attack path
- Locate services using vulnerable Net::OAuth versions for OAuth client operations
- Analyze or observe rand() behavior to predict 32-bit nonce values
- Craft or replay OAuth requests incorporating predicted nonces
- Bypass nonce validation to obtain unauthorized tokens or access
How to detect it
Review application logs for OAuth requests with repeated or sequential nonce patterns; inspect Perl module versions and source for rand() nonce calls; no specific threat actor TTPs reported.
What your security team should do
- Prioritize upgrade of Net::OAuth to 0.29+ across all Perl OAuth clients
- Audit OAuth implementations for custom nonce handling and replace any rand() usage
- Monitor for any increase in EPSS or new exploit maturity indicators
The record
In Net::OAuth::Client in the Net::OAuth package before 0.29 for Perl, the default nonce is a 32-bit integer generated from the built-in rand() function, which is not cryptographically strong.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | libnet-oauth-perl | 0 | No fix |
| Debian:12 | libnet-oauth-perl | 0 | No fix |
| Debian:13 | libnet-oauth-perl | 0 | 0.30-1 |
| Mageia:9 | perl-Crypt-URandom | 0 | 0.370.0-1.mga9 |
| Mageia:9 | perl-Module-Build | 0 | 0.423.400-1.mga9 |
| Mageia:9 | perl-Net-OAuth | 0 | 0.300.0-1.mga9 |
| Ubuntu:16.04:LTS | libnet-oauth-perl | 0 | No fix |
| Ubuntu:18.04:LTS | libnet-oauth-perl | 0 | No fix |
| Ubuntu:20.04:LTS | libnet-oauth-perl | 0 | No fix |
| Ubuntu:22.04:LTS | libnet-oauth-perl | 0 | No fix |
| Ubuntu:24.04:LTS | libnet-oauth-perl | 0 | No fix |
| Ubuntu:24.10 | libnet-oauth-perl | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | libnet-oauth-perl | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | libnet-oauth-perl | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | libnet-oauth-perl | 0 | No fix |
Related vulnerabilities
- CVE-2026-74887 openssl_encrypt before 1.4.0 imports Python's non-cryptographic 'random' module (Mersenne… CWE-338
- CVE-2026-71851 crypto-js is a JavaScript library of crypto standards. CWE-338
- CVE-2026-16615 A flaw was found in librest. CWE-338
- CVE-2026-14495 The DoLogin Security plugin for WordPress is vulnerable to Authentication Bypass via… CWE-338
- CVE-2026-7830 UltraVNC through 1.8.2.2 uses inadequate cryptography in the MS-Logon II authentication… CWE-338
- CVE-2026-44040 UltraVNC through 1.8.2.2 uses a cryptographically weak pseudo-random number generator to… CWE-338
- CVE-2026-9733 Mojolicious::Plugin::Web::Auth::OAuth2 versions through 0.17 for Perl have an insecure… CWE-338
- CVE-2026-56141 In JetBrains Hub before 2026.1.13757, 2025.3.148033, 2025.2.148048, 2025.1.148120… CWE-338