Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
litebox-seccomp-open-rdonly — High local file read: LiteBox v0.1.0 linux-userland seccomp SYS_open O_RDONLY にホストパスチェックがない | Kitploit
ツール/GitHubGitHub/abraxas/litebox-seccomp-open-rdonly
コンテナセキュリティ動的分析 (サンドボックス)脆弱性分析エクスプロイト情報収集論文と研究ラボと実践
GitHubabraxas/litebox-seccomp-open-rdonly

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

litebox-seccomp-open-rdonly

High local file read: LiteBox v0.1.0 linux-userland seccomp SYS_open O_RDONLY にホストパスチェックがない

リポジトリを見る
114日前未レビュー

Abraxas Labs - litebox-seccomp-open-rdonly

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  litebox-seccomp-open-rdonly

litebox-seccomp-open-rdonly

クラス: ファイル読み取り (サンドボックス FS 境界) 到達範囲: ローカル

LiteBox v0.1.0 (d8556e3) - Microsoft

ドキュメント化された Linux ユーザーランドランナー (litebox-runner-linux-userland) は、デフォルト拒否の seccomp フィルタをインストールした後、同じプロセス内でゲスト ELF をロードします。SYS_open は、引数 1 (flags) が OFlags::RDONLY (0) に等しい dword である場合に許可リストに含まれます。パス述語はありません。flags 0 で実際の syscall を発行するゲストは、ランナーの UID としてホスト VFS を開き、その後それらのバイトを read / mmap します。ELF リライタはこのピンではセキュリティ境界ではありません。--rewrite-syscalls は -Z であり、デフォルトではオフです。

この残存脆弱性はホスト FS の読み取りです。ホストへの書き込みでも、exec でも、ptrace でも、LPE でも、RCE でもありません。

IDCVE はまだありません
クラスファイル読み取り (サンドボックス FS 境界)
到達範囲ローカル (ランナープロセス内の信頼できないゲストバイナリ)
CWECWE-284, CWE-862
CVSSHigh: 7.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
製品microsoft/litebox
影響を受けるバージョンv0.1.0 (d8556e33676e47244bfefa139c1e9ff95bd67d53) Linux ユーザーランドプラットフォーム + ランナー
認証ゲストはすでにサンドボックス内で実行中
ライセンスGNU Affero GPL v3.0
ラボ127.0.0.1 のみ、linux/amd64

攻撃者ができること

誰が: litebox-runner-linux-userland 内の信頼できないゲストバイナリ。ベンダー (GitHub #1006 の CvvT) およびリライタクレートのドキュメントは、ELF トランポリンはセキュリティ境界ではないと述べています。Linux ユーザーランドのセキュリティはこのフィルタです。enable_seccomp_filter はデフォルト拒否 (リリースでは Errno(EINVAL)) で、TSYNC と PR_SET_NO_NEW_PRIVS を使用します。穴は SYS_open の flags Eq 0 でパスチェックがないことです。page_mgmt.rs のコメントは、CoW マッピングがフィルタが有効になった後にホストプログラムファイルを再オープンするというもので、事前に開かれた FD を保持する代わりにそうしています。

偵察 (ラボで実証済み)

メソッド + シンク権限
実際の SYS_open("/oracle/secret", 0) の後に SYS_readランナー UID が読み取れるホストファイルのバイト。ラボ: fd 3、35 バイト、証拠 LITEBOX-SECCOMP-OPEN-RDONLY-WITNESS。パスは initramfs ホスト VFS であり、ゲストオーバーレイではありません。

偵察 (同じフィルタから推測; ラボのオラクルではない)

メソッド + シンク権限
SYS_open("/etc/passwd", 0) の後に read / mmapランナー UID としての world-readable なホストファイル
ランナー所有のパス (ssh キー、.env、kubeconfig、クラウド認証情報、--initial-files tar) の SYS_openUID が開ける場合、それらのバイト
SYS_open("/etc/shadow", 0)shadow ハッシュはランナーが root の場合のみ
SYS_open("/proc/self/maps", 0)ランナーのマップ、ホストの .text / libc を含む (同一プロセス)
SYS_open("/proc/self/mem", 0) の後に FD の mmapUID が procfs 経由で読み取れるランナーのアドレス空間。pread は未マッチの拒否; SYS_mmap は許可。

完全性

この残存脆弱性には何もありません。ラボで実証されたネガティブはすべて errno=22 EINVAL を返し、ファイルを作成しませんでした:

メソッド + シンク結果
SYS_open O_RDWREINVAL
SYS_open O_CREATEINVAL、ファイルは作成されない
SYS_openat でさえ O_RDONLY の場合EINVAL
SYS_execveEINVAL
socket、ptraceEINVAL (追加の未マッチ拒否)

openat / openat2 / creat / unlink / chmod はこのピンでは未マッチ拒否のままです。

可用性

バーには含まれません。

この残存脆弱性が付与しないもの

  • ホスト書き込み、exec、ptrace、process_vm_readv、io_uring_setup、bpf、mount、pivot_root、unshare、setns、connect、ioctl、getdents
  • x32 / i386: seccompiler 0.5.0 は AUDIT_ARCH_X86_64 または KILL_PROCESS をプレフィックスします
  • clone3 はフィルタを継承します; uid_map の書き込みにはブロックされた open が必要です
  • ゲスト仮想 FS (in_mem + tar_ro) は変更されません。この残存脆弱性は実際の syscall を介したホスト VFS です
  • Windows ユーザーランドには seccomp がありません; そのランナーはこの境界を主張しません
  • RCE でも、LPE でも、別の UID へのサンドボックスエスケープでもありません

発見方法

microsoft/litebox v0.1.0 (d8556e3、2026-10-07) を main ではなくピン留めしました。18 回のソース探索。リライタクレートと GitHub #1006 はすでにトランポリンが境界ではないと述べています。Linux ユーザーランドフィルタが境界です。flags 0 の SYS_open は CoW がプログラムファイルを再オープンできるようにするために存在します。パスチェックはありません。

誤った方向: Docker Desktop Rosetta と qemu-user-static はどちらもこのホストで seccomp(SET_MODE_FILTER) を拒否します (EINVAL / ENOSYS)。そのためラボは qemu-system-x86_64 TCG の下で x86_64 Alpine virt カーネルを起動し、コピーしたフィルタを PID 1 として実行して BPF が実際の x86_64 カーネルにヒットするようにします。コピーした seccompiler 0.5.0 ルールであり、ツリー内の enable_seccomp_filter 呼び出しではなく、ワークスペース全体でもありません。

ラボ

cd lab
./run.sh

ループバック 127.0.0.1:19110。Compose プロジェクト litebox-seccomp-open-rdonly。プラットフォーム linux/amd64。証拠 LITEBOX-SECCOMP-OPEN-RDONLY-WITNESS。最終行:

SUCCESS litebox-seccomp-open-rdonly open-rdonly-ok rdwr-einval openat-einval execve-einval LITEBOX-SECCOMP-OPEN-RDONLY-WITNESS

修正

フィルタから SYS_open を削除し、PR_SET_SECCOMP の前に CoW FD を事前に開くか、ゲスト FS 外のホストパスを見ることができないパス述語を追加します。未マッチ拒否はすでに openat をカバーしています。

ベンダーの受け付けは MSRC (https://msrc.microsoft.com/create-report) です。microsoft/litebox に公開 GitHub issue を開かないでください。

連絡先

Abraxas Labs - abraxaslabs.tech - github.com/abraxas - @abraxas_null - [email protected]

ツールをダウンロード