Skip to main content

Erlang/OTP SSH EUVD-2026-36054

| CVE-2026-48859 MEDIUM
Observable Timing Discrepancy (CWE-208)
2026-06-10 EEF
6.3
CVSS 4.0 · NVD
Share

Severity by source

NVD PRIMARY
6.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

3
Source Code Evidence Fetched
Jun 10, 2026 - 16:37 vuln.today
Analysis Generated
Jun 10, 2026 - 16:37 vuln.today
CVSS changed
Jun 10, 2026 - 16:22 NVD
6.3 (MEDIUM)

DescriptionNVD

Observable Timing Discrepancy vulnerability in Erlang/OTP ssh (ssh_auth, ssh_options modules) allows unauthenticated remote username enumeration via timing side-channel in password authentication.

When the SSH daemon is configured with the user_passwords or password option, ssh_auth:check_password/3 performs a PBKDF2-SHA256 computation with 600,000 iterations (~300ms) for valid usernames, but returns immediately (~0ms) for invalid usernames via the ssh_options:get_password_option/2 path. This timing difference is detectable in a single authentication attempt and allows an unauthenticated attacker to distinguish valid from invalid usernames.

The user_passwords and password options are documented as intended for test purposes; the recommended alternative is pwdfun, which is not affected by this vulnerability.

This vulnerability is associated with program files lib/ssh/src/ssh_auth.erl and lib/ssh/src/ssh_options.erl.

This issue affects OTP from OTP 29.0 before 29.0.2 corresponding to ssh from 6.0 before 6.0.1.

AnalysisAI

Username enumeration via timing side-channel in Erlang/OTP SSH daemon (OTP 29.0-29.0.1) allows unauthenticated remote attackers to distinguish valid from invalid usernames in a single probe. When the daemon is configured with the user_passwords or password options, valid usernames trigger a 600,000-iteration PBKDF2-SHA256 computation (~300ms) while invalid usernames return near-instantly (~0ms) through an early-exit path - a gap detectable without repeated attempts. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
Identify Erlang/OTP SSH daemon on network
Delivery
Probe each candidate username with a single password auth attempt
Exploit
Measure server response latency per probe
Execution
Classify ~0ms response as invalid username
Persist
Classify ~300ms response as valid username
Impact
Compile confirmed valid username list for further attacks

Vulnerability AssessmentAI

Exploitation Exploitation requires the Erlang/OTP SSH daemon to be configured with either the `user_passwords` option (a list of `{Username, Password}` tuples) or the `password` option - both documented explicitly as intended for test and development use, not production deployments. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The CVSS 4.0 score of 6.3 (Medium) is appropriate and well-calibrated. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario An unauthenticated attacker with network access to an Erlang/OTP SSH daemon (OTP 29.0-29.0.1) configured with `user_passwords` sends one SSH password authentication attempt per candidate username, measuring whether the server responds in approximately 0ms (early exit - invalid username) or approximately 300ms (PBKDF2 computed - valid username). This yields reliable username enumeration with a single probe per candidate, requiring no special tooling beyond a TCP timing measurement. …
Remediation Upgrade to Erlang/OTP 29.0.2 (SSH library 6.0.1), which resolves the issue by running a dummy PBKDF2 computation on the invalid-username path, equalizing server response timing. … Detailed patch versions, workarounds, and compensating controls in full report.

Threat intelligence, references, and detailed analysis are available after sign-in.

Share

EUVD-2026-36054 vulnerability details – vuln.today

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