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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
opnsense-uidfield-system-uid0 — OPNsense 26.7.6 - 高 - リモート - 権限の残存 - UidField uid 0 | Kitploit
ツール/GitHubGitHub/abraxas/opnsense-uidfield-system-uid0
認証と認可特権昇格脆弱性分析エクスプロイトセキュリティ仮想化ウェブセキュリティペネトレーションテストラボと実践

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHub
abraxas/opnsense-uidfield-system-uid0

opnsense-uidfield-system-uid0

OPNsense 26.7.6 - 高 - リモート - 権限の残存 - UidField uid 0

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

Abraxas Labs - opnsense-uidfield-system-uid0

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  opnsense-uidfield-system-uid0

opnsense-uidfield-system-uid0

クラス: 権限の取り残し 到達範囲: リモート

OPNsense core 26.7.6 (a842fe48) - opnsense.org

委譲された page-system-usermanager が scope=system の後に uid=0 という2段階を実行する。UidField::setValue はスコープが system でない間だけ 2000+ を自動割り当てする。setNodes は scope より先に uid を適用するため、1回の追加では 0 を刻めない。2回目の POST なら可能だ。その後 auth sync user がホーム /root、グループ wheel で pw useradd -o -u 0 を実行する。authorized keys は /root/.ssh/authorized_keys に配置される。権限は System: Access: Management であり、page-all ではない。

IDCVE 未割り当て
クラス権限の取り残し
到達範囲リモート (認証済み WebGUI / ローカル API キー)
CWECWE-269 / CWE-284
CVSSHigh: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
製品OPNsense core (Deciso B.V.)
影響OPNsense core 26.7.6 (a842fe48c21288d11a422cb944678e8eb308becf) UidField / user-manager
認証page-system-usermanager を持つ WebGUI セッションまたはローカル API キー
ライセンスGNU Affero GPL v3.0
ラボ127.0.0.1 のみ

タグ 26.7.6 "Xenial Xenops" を固定した。ラボは固定された UidField::setValue と local_user_set の PHP ガジェットで、ループバック識別子は 127.0.0.1:18810。stable/26.7 は 2026-10-09 に ea4f01fe として UID-0 書き込みを revert した。その revert はこの固定とは異なる。GHSA はない。

攻撃者ができること

手法シンク権限
2段階追加 scope=system の後に uid=0 を設定し、その後 auth sync user固定された UidField::setValue の後にスタブ pw useradd -o -u 0 (auth.inc:345-397)完全性 (ラボ実証): 2つ目の Unix UID 0、ホーム /root、グループ wheel。ラボ: after-add=2000 after-set=0 pw-o-u0=yes。
同じ設定 + authorizedkeysfile_put_contents /root/.ssh/authorized_keys (auth.inc:407-416)完全性 (ラボ実証): /root/.ssh/authorized_keys に証跡。
sshd が有効ならその名前で SSH (AllowGroups wheel、PermitRootLogin は非 root ユーザー名には適用されない)sshd偵察 + 完全性 (推測): 新しい wheel 名でログインし、/root を読む。ガジェットは sshd を起動しなかった。
同じ POST を scope=user uid=0 で実行UidField が 2000+ を自動割り当て否定 (ラボ実証): uid は 2000 のまま。scope-user-uid0-ignored=yes。
既存の root uuid uid=80 を setpw usermod -u 80完全性 + 可用性 (推測): 既存の root を UID 0 から移動。ガジェットは root を usermod しなかった。
root uuid を name=hax + scope=user で set名前変更チェックがスキップされ、新しい名前で auth sync user完全性 (推測): 26.7.6 のチェックが阻止しようとしていたシステムユーザー名変更。

ラボ実証 vs 推測: 2段階 UID 0、pw useradd -o -u 0、keys パス、scope=user 無視はラボ SUCCESS。ライブ sshd の受け入れと既存 root の usermod/名前変更は推測。完全な OPNsense VM ではなくガジェット。

必要条件: page-system-usermanager を持つ WebGUI セッションまたはローカル API キー。セッションパス上の CSRF。page-all ではない。デフォルトの config.xml.sample はグループ admins にのみ page-all を付与する。

閉じたままの隣接面

面ラボ
page-system-usermanager なしの POST /api/auth/user/*ACL クローズ
user-config-readonlysave() は依然 throwReadOnly()
CSV アップロードuid/scope を除去
CVE-2026-44194 email-as-shellmwexecf %s + email 正規表現
パスワードページセッションにバインド
同じ POST を行う page-allこの固定では changelog 機能
未認証クローズ
master.passwd に * がある Unix suインストーラが強制しない限り GUI ハッシュは config.xml に留まる

未認証なし。page-all は不要。26.7.6 はシステムスコープユーザーに選択した UID を提示することを管理者機能として提供していた。一致しないウォークは page-all を持たない委譲された user-manager である。

ラボ

cd lab
./run.sh

ループバック 127.0.0.1:18810。Compose プロジェクト opnsense-uidfield-system-uid0。イメージは固定 26.7.6 から。証跡 OPNSENSE-UIDFIELD-SYSTEM-UID0-WITNESS。最終行:

SUCCESS opnsense-uidfield-system-uid0 two-step-uid=0 scope-user-uid0-ignored=yes pw-o-u0=yes keys=/root/.ssh/authorized_keys OPNSENSE-UIDFIELD-SYSTEM-UID0-WITNESS

修正

呼び出し元が完全な管理者でない限り、UID 0 (および衝突するサービス UID) を拒否する。setNodes で uid より先に scope を適用するか、両方を反転させる POST を拒否する。26.7.6 の名前変更チェックを、投稿されたスコープではなく setNodes 前 のスコープで維持する。ea4f01fe は後に stable/26.7 で UID-0 書き込みを revert したが、そのコミットはこの固定ではない。

参考文献

  • github.com/opnsense/core a842fe48c21288d11a422cb944678e8eb308becf
  • UidField.php
  • auth.inc local_user_set
  • 名前付きページ (この取り残しではない): CVE-2026-44194 / GHSA-f59w email-as-shell
  • 後の revert (この固定ではない): stable/26.7 の ea4f01fe
  • CWE-269 / CWE-284
ツールをダウンロード