OpenSSHに認証回避の脆弱性、musl系に影響
Alpine Linuxなどmusl系ディストリビューションのOpenSSHに、CVE-2026-123158として追跡される認証回避の脆弱性が確認された。修正版が公開されている。
Alpine Linuxや他のmusl系Linuxディストリビューション上のOpenSSHに、認証を回避できる重大な脆弱性が確認された。CVE-2026-123158として追跡されている。攻撃者が257~1024バイトの過大なパスワードを送信すると、パスワード無効または鍵認証のみのアカウントにログインできてしまう。脆弱性は開示され、修正版が公開された。Alpine Linuxが明らかにした。
原因はmuslのcrypt()関数にある。長い入力に対してエラーを示す文字列*を返すため、パスワードを持たないアカウントのパスワード欄に格納された*と一致してしまう。悪用には、PAMなし(またはUsePAM no)でビルドされたopenssh-server、PasswordAuthenticationの有効化、さらに同一マシン上に5または6で始まるパスワードハッシュを持つ別アカウントが少なくとも1つ存在することが条件となる。
Alpine Linuxによると、確認したすべてのリリースが影響を受ける。対象は3.16から3.24までとedgeで、特にtiny-cloudイメージの3.18.11から3.24.3が脆弱とされている。一方、sshdを含まないコンテナ、パスワード認証を無効にしたシステム、openssh-server-pamをUsePAM yesで使っているシステムは影響を受けない。
ウィンド・リバーは、報告された脆弱性を現在精査しており、適切な対応を取ると述べた。利用者には直ちにパッチを適用し、修正後のソフトウェアを再起動することが推奨されている。
背景
問題となるmuslのcrypt()の挙動は、脆弱性を発見したグループによれば2016年から存在している。Alpine Linuxは今回の開示の数日前にも、GitLab実装のセキュリティホールに対応したばかりだ。またAlpine 3.16頃からベースイメージではrootがroot:*として提供されているが、OpenSSHの既定設定PermitRootLogin prohibit-passwordによりrootの直接ログインは遮断されている。
よくある質問
どのバージョンのAlpine Linuxが影響を受けますか?
3.16から3.24までとedgeのすべての確認済みリリースが影響を受けます。特にtiny-cloudイメージの3.18.11から3.24.3が脆弱とされています。
影響を受けない構成はありますか?
sshdを含まないコンテナ、パスワード認証を無効にしたシステム、openssh-server-pamをUsePAM yesで使っているシステムは影響を受けません。
何をすればよいですか?
直ちにパッチを適用し、修正後のソフトウェアを再起動することが推奨されています。