CVE-2026-48859: CWE-208 Observable Timing Discrepancy in Erlang OTP
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.
AI Analysis
Technical Summary
This vulnerability in Erlang/OTP SSH modules ssh_auth and ssh_options allows an unauthenticated attacker to perform username enumeration via a timing side-channel during password authentication. When the SSH daemon uses the user_passwords or password options, the function ssh_auth:check_password/3 performs a PBKDF2-SHA256 hash with 600,000 iterations for valid usernames, causing a delay of approximately 300ms. For invalid usernames, the function returns immediately, creating a measurable timing discrepancy. This difference enables attackers to distinguish valid usernames in a single authentication attempt. The affected versions include OTP 29.0 up to but not including 29.0.2 and SSH 6.0 up to but not including 6.0.1. The vulnerability is linked to files lib/ssh/src/ssh_auth.erl and lib/ssh/src/ssh_options.erl. The user_passwords and password options are documented as intended for testing purposes, with pwdfun recommended as a safer alternative.
Potential Impact
An unauthenticated remote attacker can enumerate valid usernames on the SSH service by exploiting the timing discrepancy in password authentication. This information disclosure can aid in further targeted attacks but does not directly allow password or system compromise. The vulnerability does not affect the recommended pwdfun option, which does not exhibit this timing difference.
Mitigation Recommendations
No official patch or fix is currently confirmed for this vulnerability. Users are advised to avoid using the user_passwords or password options in the SSH daemon configuration, as these are intended only for testing. Instead, configure the SSH daemon to use the pwdfun option, which is not affected by this timing side-channel vulnerability. Monitor vendor advisories for updates or official patches.
CVE-2026-48859: CWE-208 Observable Timing Discrepancy in Erlang OTP
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 29.0.2 corresponding to ssh from 6.0 before 6.0.1.
CVSS v4.0
Score 6.3medium
Affected software
pkg:github/erlang/otpcpe:2.3:a:erlang:erlang\/otp:*:*:*:*:*:*:*:*Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
This vulnerability in Erlang/OTP SSH modules ssh_auth and ssh_options allows an unauthenticated attacker to perform username enumeration via a timing side-channel during password authentication. When the SSH daemon uses the user_passwords or password options, the function ssh_auth:check_password/3 performs a PBKDF2-SHA256 hash with 600,000 iterations for valid usernames, causing a delay of approximately 300ms. For invalid usernames, the function returns immediately, creating a measurable timing discrepancy. This difference enables attackers to distinguish valid usernames in a single authentication attempt. The affected versions include OTP 29.0 up to but not including 29.0.2 and SSH 6.0 up to but not including 6.0.1. The vulnerability is linked to files lib/ssh/src/ssh_auth.erl and lib/ssh/src/ssh_options.erl. The user_passwords and password options are documented as intended for testing purposes, with pwdfun recommended as a safer alternative.
Potential Impact
An unauthenticated remote attacker can enumerate valid usernames on the SSH service by exploiting the timing discrepancy in password authentication. This information disclosure can aid in further targeted attacks but does not directly allow password or system compromise. The vulnerability does not affect the recommended pwdfun option, which does not exhibit this timing difference.
Mitigation Recommendations
No official patch or fix is currently confirmed for this vulnerability. Users are advised to avoid using the user_passwords or password options in the SSH daemon configuration, as these are intended only for testing. Instead, configure the SSH daemon to use the pwdfun option, which is not affected by this timing side-channel vulnerability. Monitor vendor advisories for updates or official patches.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- EEF
- Date Reserved
- 2026-05-25T20:44:10.697Z
- Cvss Version
- 4.0
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a298ad7c9170919df367442
Added to database: 6/10/2026, 4:03:35 PM
Last enriched: 6/10/2026, 4:19:14 PM
Last updated: 6/10/2026, 5:51:53 PM
Views: 7
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.