Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach app comparison endpoint
-
DeliverySubmit many candidate secrets
-
ExploitMeasure per-attempt response timing
-
ExecutionStatistically infer matching bytes
-
ImpactReconstruct stored secret
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V6 - Authentication Timing attack prevention
|
| Exploitation Conditions | Exploitation requires that the target application actually uses Crypt::SecretBuffer's comparison functionality to check attacker-influenced input against a stored secret (the description's example is storing and comparing plaintext passwords) - the vulnerable code path must be reachable and its timing observable by the attacker. Limiting factors: the attacker must be able to submit many comparison attempts and measure fine-grained timing, which network jitter degrades; the flaw yields information disclosure only (C:H, I:N, A:N) and does not by itself grant code execution; and if the deploying application does not use SecretBuffer for secret comparison, or wraps it behind rate limiting or hashing, exploitation is impractical. No authentication is required to attempt comparisons per the CVSS vector (PR:N), though the surrounding application may impose its own access controls. |
| Impact | The signals are mostly consistent toward LOW real-world urgency. The supplied CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N, C:H) scores 7.5 (High) driven entirely by confidentiality impact, but AC:L understates reality: practical timing attacks over a network require large numbers of samples and statistical filtering of jitter, so effective complexity is higher. EPSS is negligible (0.02%, 5th percentile), SSVC exploitation is 'none', it is not in CISA KEV, and no POC is referenced - all pointing away from imminent exploitation. SSVC does flag Automatable: yes and Technical Impact: partial, meaning that where the vulnerable comparison IS reachable, an attack could be scripted. The dominant limiting factor is exposure: exploitation depends on an application actually using SecretBuffer to compare attacker-influenced input against a secret, which is a usage pattern the description raises only as an example ('if... used to store and compare plaintext passwords'). Net: patch it as good hygiene, but it is not a drop-everything issue. |
| Exploit ScenarioDerived | An attacker repeatedly submits candidate passwords to an application that uses Crypt::SecretBuffer (<0.019) to compare the submitted value against a stored plaintext secret, measuring the response time of each attempt. By observing that closer-matching guesses take measurably longer (or shorter) to reject, the attacker reconstructs the secret one position at a time. No public POC is referenced, and given network timing noise the attack requires many samples to be reliable. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 24, 2026
Secret-recovery via timing side channel in the Perl module Crypt::SecretBuffer before 0.019 lets remote attackers infer stored secrets by measuring response-time discrepancies during comparison operations. When an application uses SecretBuffer to hold and compare sensitive values such as plaintext passwords, the non-constant-time comparison leaks information that can be used to guess the secret byte-by-byte. There is no public exploit identified at time of analysis, EPSS is negligible (0.02%), and SSVC records exploitation as none, so this is a real but low-urgency defense-in-depth fix rather than an actively exploited threat.
RemediationAI
Vendor-released patch: upgrade Crypt::SecretBuffer to version 0.019 or later (e.g. via cpan/cpanm NERDVANA/Crypt-SecretBuffer-0.019), which is the primary and complete fix; confirm the change in the release changelog at https://metacpan.org/release/NERDVANA/Crypt-SecretBuffer-0.019/source/Changes. If you cannot upgrade immediately, the effective compensating control is to avoid using SecretBuffer's comparison method against attacker-supplied or remotely observable input - instead compare secrets using a vetted constant-time routine, and specifically stop using it to compare plaintext passwords (hash and use a constant-time verify instead), with the trade-off of code changes at each call site. Reducing the attacker's ability to gather timing samples (rate limiting, adding server-side latency normalization, restricting who can invoke the comparison path) lowers but does not eliminate risk. Additional context is in the oss-security disclosure at http://www.openwall.com/lists/oss-security/2026/04/13/12.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Crypt::SecretBuffer (CPAN distribution by NERDVANA, CPE cpe:2.3:a:nerdvana:crypt::secretbuffer) is a Perl utility whose purpose is to store secret material in memory and offer comparison primitives. The flaw is CWE-208 (Observable Timing Discrepancy): the comparison routine short-circuits or otherwise varies its execution time based on how many leading bytes of the candidate match the stored secret, instead of performing a constant-time comparison. An attacker who can submit candidate values and observe timing can iteratively converge on the correct secret. This is the classic reason security libraries provide constant-time compare functions; the fix in 0.019 addresses the comparison timing behavior.
Know when Crypt gets its next vulnerability
- 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 side channel requires many samples over noisy network paths and depends on the app comparing secrets, so AC:H; it leaks the secret (C:H) with no integrity or availability impact.
Primary rating from NVD.
CVSS VectorNVD
Lifecycle Timeline
4DescriptionCVE.org
Crypt::SecretBuffer versions before 0.019 for Perl is suseceptible to timing attacks.
For example, if Crypt::SecretBuffer was used to store and compare plaintext passwords, then discrepencies in timing could be used to guess the secret password.
Executive ViewAI
Crypt::SecretBuffer before 0.019 enables attackers to steal sensitive credentials by observing response-time patterns, endangering password-based authentication systems relying on this Perl module. Organizations using SecretBuffer for credential validation face elevated risk of account compromise and unauthorized access, particularly in high-volume authentication scenarios. While exploitation remains unlikely (EPSS 0.02%), the vulnerability affects core security controls and warrants prompt patching.
Patch available per vendor advisory
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.
Predictable salt generation in Crypt::Password through version 0.28 for Perl weakens the security of stored password has
Perl Crypt::NaCl::Sodium module through 2.002 has potential integer overflows in cryptographic operations that could wea
Crypt::Sodium::XS for Perl bundles a vulnerable version of libsodium (<= 1.0.20) that has a signature verification flaw.
Heap out-of-bounds read in the Perl module Crypt::OpenSSL::PKCS12 before version 1.96 lets a crafted PKCS#12 file leak a
Heap out-of-bounds read in the Crypt::OpenSSL::X509 Perl module (versions before 2.1.3) lets a crafted X.509 certificate
Integer overflow in Crypt::NaCl::Sodium Perl module through version 2.001 on 32-bit systems. The Sodium.xs binding casts
Private-key recovery in the Crypt::DSA Perl module (all versions before 1.22) stems from a biased random number generato
NULL pointer dereference in Crypt::OpenSSL::PKCS12 before version 1.98 for Perl enables process crashes when any caller
Timing side-channel in the Crypt::Password Perl module (versions through 0.28) allows attackers to incrementally guess a
Denial of service in the Crypt::OpenSSL::X509 Perl module before 2.1.3 lets a malformed X.509 certificate crash any Perl
Heap buffer overflow in Crypt::SysRandom::XS before version 0.010 allows denial of service through negative length param
Heap buffer overflow in Perl's Crypt::URandom module (versions 0.41-0.54) allows denial of service through integer wrapa
EUVD-2026-22136
NVD
CVE.org
EPSS
Vulnrichment
GitHub PoC
Exploit-DB