CVE-2024-57877 in Linux情報

要約

〜によって VulDB • 2026年07月30日

Linuxカーネルにおいて、以下の脆弱性が修正されました。

arm64: ptrace: NT_ARM_POEに対するSETREGSETの部分的な処理を修正

現在、poe_set()は一時変数'ctrl'を初期化していません。そのため、長さが0のSETREGSET呼び出しを行うと、この変数が未初期定のままになります。その結果、target->thread.por_el0に対して任意の値が書き込まれ、カーネルスタックから最大64ビット分のメモリリークが発生する可能性があります。読み取りはスタック内の特定のスロットに限定されており、本問題は書き込みメカニズムを提供しません。

他のregset(例:NT_PRSTATUS, NT_PRFPREG, NT_ARM_SYSTEM_CALL)と同様に、ユーザー空間からregsetをコピーする前に一時値を初期化することでこれを修正します。ゼロ長さの書き込みの場合、POR_EL1の既存の内容が保持されます。

パッチ適用前:

| # ./poe-test | Attempting to write NT_ARM_POE::por_el0 = 0x900d900d900d900d | SETREGSET(nt=0x40f, len=8) wrote 8 bytes | | Attempting to read NT_ARM_POE::por_el0 | GETREGSET(nt=0x40f, len=8) read 8 bytes | Read NT_ARM_POE::por_el0 = 0x900d900d900d900d | | Attempting to write NT_ARM_POE (zero length) | SETREGSET(nt=0x40f, len=0) wrote 0 bytes | | Attempting to read NT_ARM_POE::por_el0 | GETREGSET(nt=0x40f, len=8) read 8 bytes | Read NT_ARM_POE::por_el0 = 0xffff8000839c3d50

パッチ適用後:

| # ./poe-test | Attempting to write NT_ARM_POE::por_el0 = 0x900d900d900d900d | SETREGSET(nt=0x40f, len=8) wrote 8 bytes | | Attempting to read NT_ARM_POE::por_el0 | GETREGSET(nt=0x40f, len=8) read 8 bytes | Read NT_ARM_POE::por_el0 = 0x900d900d900d900d | | Attempting to write NT_ARM_POE (zero length) | SETREGSET(nt=0x40f, len=0) wrote 0 bytes | | Attempting to read NT_ARM_POE::por_el0 | GETREGSET(nt=0x40f, len=8) read 8 bytes | Read NT_ARM_POE::por_el0 = 0x900d900d900d900d

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

責任者

Linux

予約する

2025年01月11日

モデレーション

承諾済み

エントリ

VDB-291235

EPSS

0.00179

アクティビティ

非常低い

ソース

Do you know our Splunk app?

Download it now for free!