CVE-2026-48859 Details
Description
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 OTP 29.0.2, corresponding to ssh from 6.0 before 6.0.1.
A timing discrepancy vulnerability in the SSH implementation of Erlang/OTP has been identified, specifically within the ssh_auth and ssh_options modules. This vulnerability allows unauthenticated remote username enumeration through a timing side-channel during password authentication. When the SSH daemon uses the user_passwords or password option, the function ssh_auth:check_password/3 hashes passwords for valid usernames using PBKDF2-SHA256 with 600,000 iterations, taking approximately 300 milliseconds. In contrast, invalid usernames are processed almost instantly, creating a detectable timing difference that can be exploited to identify valid usernames. This issue affects Erlang/OTP versions 29.0 prior to 29.0.2, corresponding to SSH versions 6.0 prior to 6.0.1.
Users are advised to switch from the user_passwords or password options to the pwdfun option for password authentication, as the latter is not affected by this vulnerability. Additionally, restrict access to the SSH port from untrusted networks to mitigate the risk of exploitation.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
CISA-ADP
Assessed Jun 10, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://cna.erlef.org/cves/CVE-2026-48859.html | EEF | MitigationThird Party Advisory |
| https://github.com/erlang/otp/commit/c342092ef4b369bb409d5b71ac8fd83bab74aedf | EEF | Patch |
| https://github.com/erlang/otp/security/advisories/GHSA-3w6p-vwhf-wvp4 | EEF | MitigationVendor Advisory |
| https://osv.dev/vulnerability/EEF-CVE-2026-48859 | EEF | MitigationThird Party Advisory |
| https://www.erlang.org/doc/system/versions.html#order-of-versions | EEF | Product |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-208 | Observable Timing Discrepancy | EEF |
Affected Products
| Product | Versions |
|---|---|
| erlang erlang/otp | >= 29.0, < 29.0.2 |
CPE
Remediation
| |
| erlang erlang/ssh | >= 6.0, < 6.0.1 |
CPE
Remediation
| |
Change History
7 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Sep 8, 2026 | CVE Modified | EEF |
| Aug 3, 2026 | CVE Modified | EEF |
| Jul 24, 2026 | CVE Modified | EEF |
| Jun 17, 2026 | CVE Modified | EEF |
| Jun 17, 2026 | CVE Modified | CISA-ADP |
| Jun 15, 2026 | Initial Analysis | [email protected] |
| Jun 10, 2026 | New CVE Received | EEF |