CVE-2023-42456
sudo-rs セッションファイルの相対パストラバーサル脆弱性
- 公開済み
- 2023/09/21
- 更新済み
- 2026/06/10
- CNA の割り当て
- GitHub_M
- 観察された証拠
- 2026/08/08
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H低 · 今後 30 日間
- パーセンタイル
- 45.7%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
# Sudo-rs の脆弱性概要 sudo と su のメモリ安全な実装である Sudo-rs は、ユーザーが sudo を実行するたびに認証を入力する必要をなくし、各ターミナルまたはプロセスグループにおいて、一定の間隔でのみ認証を要求することを可能にします。設定可能なタイムアウトが経過した場合にのみ、ユーザーは再認証を求められます。この機能を支えているのは、`/var/run/sudo-rs/ts` に保存される、ユーザーごとのセッションファイル(タイムスタンプ)のセットです。これらのファイルは、sudo の試行が行われるユーザー名(発信元ユーザー)に応じて命名されます。 バージョン 0.2.1 より前のバージョンで、`.` および `/` 文字を含むユーザー名が、ファイルシステム上の特定のファイルを破損させる可能性がある問題が発見されました。ユーザー名は通常、含めることのできる文字に制限がないため、相対パスに見えるユーザー名を構築することができます。例えば、`../../../../bin/cp` というユーザー名を含むユーザーをシステムに追加することができます。その名前のユーザーとしてログインすると、そのユーザーは `sudo -K` を実行して自分のセッションレコードファイルをクリアできます。セッションコードは、セッションファイルの保存ディレクトリにユーザー名を連結してセッションファイルへのパスを構築するため、解決されたパスは `/bin/cp` になります。コードはそのファイルをクリアするため、`cp` バイナリが事実上システムから削除される結果となります。 攻撃者は、構築されたユーザー名を持つユーザーとしてログインできる必要があります。そのようなユーザー名が既存のシステムに存在する可能性は低いため、攻撃者は構築されたユーザー名でユーザーを作成できることも必要です。 この問題は sudo-rs のバージョン 0.2.1 で修正されています。Sudo-rs は現在、ファイル名を決定する際にユーザー名の代わりにユーザーの uid を使用します。このバージョンへのアップグレードにより、既存のセッションファイルは無視され、ユーザーは再認証を強制されることに注意してください。また、uid は常に整数値であるため、パストラバーサルの可能性も完全に排除されます。 `sudo -K` および `sudo -k` コマンドは、ユーザーに sudo アクセス権がない場合でも実行できます。回避策として、システムに特別に細工されたユーザー名を持つユーザーが存在しないことを確認してください。その状態が維持され、信頼できないユーザーがシステム上で任意のユーザーを作成する能力を持っていない限り、この問題を悪用することはできないはずです。
ソース
1- CVE-2025-32463-EXPLOITエクスプロイト
CVE-2023-42456 の概念実証エクスプロイト。chroot インジェクションを介した sudo NSS ライブラリのハイジャックによる権限昇格を示します。自動バージョン検出、ペイロード生成、および認可されたセキュリティテストのための chroot エスケープが含まれています。
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。