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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/fortra/cve-2024-6768
脆弱性分析エクスプロイトバイナリエクスプロイト
GitHubfortra/cve-2024-6768

CVE-2024-6768

CVE-2024-6768 の概念実証エクスプロイト。細工された .BLF ファイルを介して Windows CLFS.sys ドライバーの脆弱性を悪用し、BSoD を引き起こします。ソースコードと技術分析を含みます。

リポジトリを見る
16522年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2024-6768: 入力で指定された数量の不適切な検証によりCLFS.sysに回復不能な状態が発生しBSoDを引き起こす

はじめに:

CVE-2024-6768 は、Windows の Common Log File System (CLFS.sys) ドライバにおける脆弱性であり、入力データで指定された数量の不適切な検証が原因で発生します。この欠陥により回復不能な不整合が生じ、KeBugCheckEx 関数が呼び出され、結果としてブルースクリーンオブデス (BSoD) が発生します。この問題は、すべての更新プログラムが適用された状態でも、Windows 10 および Windows 11、Windows Server 2016、Server 2019、Server 2022 のすべてのバージョンに影響します。概念実証 (PoC) により、.BLF ファイル内で特定の値を細工することで、特権のないユーザーがシステムクラッシュを引き起こせることを示しています。潜在的な問題には、システムの不安定化やサービス拒否が含まれ、悪意のあるユーザーがこの脆弱性を悪用して影響を受けるシステムを繰り返しクラッシュさせ、運用を妨害し、データ損失を引き起こす可能性があります。

Common Log File System (CLFS) に関する過去 2 回の研究では、両方のケースで RCE を達成できました (興味があれば、CLFS CVE-2023-28252 と CLFS CVE-2022-37969 に関する記事があります)。しかし、作業中の PoC でいくつかの値を変更したところ、ターゲットシステム上で BSoD がトリガーされるのを観察しました。そのため、この問題を報告することにしました。このドキュメントは、BSoD を理解し、その再現方法についてのガイダンスを提供します。

脆弱性の詳細:

この脆弱性は、入力で指定された数量の不適切な検証 (CWE-1284) によって発生し、CLFS.sys ドライバに回復不能な不整合を引き起こし、KeBugCheckEx 関数 の呼び出しを強制します。これにより、特権のないユーザーが Windows で BSoD を発生させることができます。このドキュメントでは、例として CLFS.sys バージョン 10.0.19041.3324 を使用していますが、この問題は、すべての更新プログラムが適用された Windows 10 および Windows 11 の最新バージョンまでのすべてのバージョンに影響します。

Base Score: CVSS 4.0: 6.8 Medium

Vector String CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Attack Vector (AV): Local

Attack Complexity (AC): Low

Attack Requirements (AT): None

Privileges Required (PR): Low

User Interaction (UI): None

Confidentiality (VC): None

Integrity (VI): None

Availability (VA): High

Confidentiality (SC): None

Integrity (SI): None

Availability (SA): None

システムが回復不能な状態を検出すると、KeBugCheckEx 関数を呼び出し、Microsoft がこの記事で説明しているように BSoD が発生します: https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-kebugcheckex。

自動生成されたコンピューターエラーのスクリーンショット

CClfsLogFcbPhysical::FlushLog+6F2 は、KeBugCheckEx への呼び出しが行われる CLFS.sys バージョン 10.0.19041.3324 のアドレスです:

CClfsLogFcbPhysical::FlushLog+6D5

CClfsLogFcbPhysical::FlushLog+6D5 loc_FFFFF8062EED4F35: ; BugCheckParameter2

CClfsLogFcbPhysical::FlushLog+6D5 mov r8d, eax

CClfsLogFcbPhysical::FlushLog+6D8 and [rsp+0A8h+Timeout], 0

CClfsLogFcbPhysical::FlushLog+6DE mov r9, rbx ; BugCheckParameter3

CClfsLogFcbPhysical::FlushLog+6E1 mov edx, 3Ah ; ':' ; BugCheckParameter1

CClfsLogFcbPhysical::FlushLog+6E6 mov ecx, 0C1F5h ; BugCheckCode

CClfsLogFcbPhysical::FlushLog+6EB mov r10, cs:__imp_KeBugCheckEx

CClfsLogFcbPhysical::FlushLog+6F2 call near ptr nt_KeBugCheckEx

PoC の構築:

分析を始めるには、脆弱な Common Log File System ドライバ (CLFS.sys、%windir%\system32 フォルダに存在) によって処理される .BLF ファイル形式を理解する必要があります。詳細については、この記事の最後にある参照セクションを確認してください。

proof of concept repo では、54.blf ファイル内のオフセット 0x1c10 に細工された値 (0xffffffff00ff01) が含まれています。

コンピューターのスクリーンショット(自動生成された説明)

この細工された値は、_CLFS_CLIENT_CONTEXT 構造体のオフセット 0x38 にあり、CClfsLogFcbPhysical::Initialize で CClfsLogFcbPhysical 構造体のオフセット 0x538 にコピーされます。

下の青色のマークされた領域は、cidNode = 0xC1FDF006 で始まり、これは CLFSHASHSYM 構造体です。

自動生成されたコンピューターのスクリーンショット

その後、cidNode == 0xC1FDF007 で始まる領域に _CLFS_CLIENT_CONTEXT 構造体が配置されています。

オフセット 0x38 には、細工された値 0xffffffff00ff01 で埋められるフィールド lsnOwnerPage があります:

struct _CLFS_CLIENT_CONTEXT

{

CLFS_NODE_ID cidNode;

CLFS_CLIENT_ID cidClient;

USHORT fAttributes;

ULONG cbFlushThreshold;

ULONG cShadowSectors;

ULONGLONG cbUndoCommitment;

LARGE_INTEGER llCreateTime;

LARGE_INTEGER llAccessTime;

LARGE_INTEGER llWriteTime;

*CLFS_LSN **lsnOwnerPage; ***// offset 0x38

CLFS_LSN lsnArchiveTail;

CLFS_LSN lsnBase;

CLFS_LSN lsnLast;

CLFS_LSN lsnRestart;

CLFS_LSN lsnPhysicalBase;

CLFS_LSN lsnUnused1;

CLFS_LSN lsnUnused2;

CLFS_LOG_STATE eState;

union

{

HANDLE hSecurityContext;

ULONGLONG ullAlignment;

};

};

PoC が実行されると、lsnOwnerPage の値を細工し、CreateLogFile を呼び出し、前述の値が以下のコールスタックで示されるように UpdateCachedOwnerPage で使用されます。

自動生成されたコンピューターのスクリーンショット

これは、PoC が CreateLogFile を呼び出し、細工された値が使用され始めるアドレスです:

自動生成されたコンピューターのスクリーンショット

自動生成されたコンピューターのスクリーンショット

自動生成されたコンピューターのスクリーンショット

AddLsnOffset 内部では、この細工された値から計算された ulloffset が返されます:

自動生成されたコンピューターのスクリーンショット

返される ulloffset は 0xFFFFFFFF00000000 です

その後、この値が比較され、CClfsLogFcbPhysical::UpdateCachedOwnerPage 関数を終了します。

自動生成されたコンピューターのスクリーンショット

その後、ユーザーモードの PoC に戻り、終了する際に、元の細工された ulloffset が使用されるときに CClfsLogFcbPhysical::FlushLog を呼び出します。

自動生成されたコンピューターのスクリーンショット

これはループ内で比較され、いずれのサイクルでも等しくない場合、システムは回復不能な状態にあるため、KeBugCheck を呼び出して BSoD を生成し、システムを再起動させます:

自動生成されたコンピュータープログラムのスクリーンショット

自動生成されたコンピューター画面のスクリーンショット

ソースと細工された BLF を含む機能する PoC は、Fortra の GitHub にあります。

  • https://github.com/fortra/CVE-2024-6768

  • https://github.com/fortra/CVE-2024-6768/blob/main/clfs_eopNEW/x64/Release/clfs_eop.exe

お役に立てば幸いです。ご質問があれば [email protected] までご連絡ください。

参照:

Common Log File System (CLFS) の参照:

  • https://www.zscaler.com/blogs/security-research/technical-analysis-windows-clfs-zero-day-vulnerability-cve-2022-37969-part

  • https://learn.microsoft.com/en-us/windows-hardware/drivers/kernel/introduction-to-the-common-log-file-system

  • https://github.com/ionescu007/clfs-docs/blob/main/README.md

  • https://www.coresecurity.com/core-labs/articles/understanding-cve-2022-37969-windows-clfs-lpe

  • https://www.youtube.com/watch?v=N5bcibiDVaw

  • https://github.com/fortra/CVE-2024-6768

  • https://www.fortra.com/security/advisories/research/fr-2024-001

  • https://www.cve.org/CVERecord?id=CVE-2024-6768

ツールをダウンロード