Alpine Linuxは、攻撃者がパスワード認証をバイパスできる`openssh-server`パッケージの脆弱性に関するセキュリティ勧告を発表しました。この欠陥は、OpenSSHがPluggable Authentication Modules(PAM)なしでビルドされているシステム、または`UsePAM`設定が無効になっているシステムに影響を与えます。これらの条件下では、SSHポートに到達できる攻撃者が、パスワードフィールドが`*`(鍵のみのアカウントで一般的な設定)に設定されているアカウントであれば、パスワードを知ることなくログインできます。このバイパスは単一の接続で一貫して動作し、再試行を必要としません。

問題の技術的な根本原因は、OpenSSHと`musl` Cライブラリの相互作用にあります。`sshd`がPAMなしでビルドされている場合、パスワードの検証は`crypt()`関数を使用して試行をハッシュ化し、保存されているパスワードフィールドと比較することで行われます。アカウントの保存フィールドがソルトを含むには短すぎる場合、`sshd`はシステム上の別のアカウントからソルトを借用します。`musl`ライブラリの`crypt()`関数は、パスワードが256バイトを超えるとエラー指標として`*`を返すため、257から1024バイトの文字列を提供する攻撃者はこのエラーを誘発します。`*`はパスワードなしのアカウントに保存されている正確な値でもあるため、システムはログインを誤って成功として検証します。

この脆弱性は、バージョン3.16から3.24および'edge'ブランチを含む幅広いAlpine Linuxリリースに影響します。具体的には、`PasswordAuthentication`が有効であり、少なくとも他のローカルアカウントが標準的な`$5$`または`$6$`のパスワードハッシュを保持しているシステムに影響します。この問題を修正するために、Alpineは修正済みパッケージバージョン(3.21.10、3.22.8、3.23.8、または3.24.4など)へのアップグレードと`sshd`デーモンの再起動を推奨しています。あるいは、ユーザーはSSH設定で`PasswordAuthentication no`を設定することでセキュリティホールを塞ぐことができます。ユーザーは、侵害が発生したかどうかを判断するために、鍵ベースのアクセスのみを許可すべきアカウントに対して「Accepted password」の項目が`/var/log/messages`に記録されていないか確認することが推奨されます。