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.
{
"binaries": [
{
"binary_name": "erlang",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-asn1",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-base",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-common-test",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-crypto",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-debugger",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-dialyzer",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-diameter",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-edoc",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-eldap",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-et",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-eunit",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-examples",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-ftp",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-inets",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-jinterface",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-megaco",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-mnesia",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-mode",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-nox",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-observer",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-odbc",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-os-mon",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-parsetools",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-public-key",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-reltool",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-runtime-tools",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-snmp",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-src",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-ssh",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-ssl",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-syntax-tools",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-tftp",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-tools",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-wx",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-x11",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
},
{
"binary_name": "erlang-xmerl",
"binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
}
]
}