CVE-2024-57877 in Linuxinformazioni

Riassunto

di VulDB • 29/07/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

arm64: ptrace: correggere l'impostazione parziale di SETREGSET per NT_ARM_POE

Attualmente, poe_set() non inizializza la variabile temporanea 'ctrl', e una chiamata a SETREGSET con lunghezza zero lascia questa variabile non inizializzata. Di conseguenza, un valore arbitrario verrà scritto in target->thread.por_el0, potenzialmente causando la fuoriuscita (leak) di fino a 64 bit di memoria dallo stack del kernel. La lettura è limitata a uno slot specifico dello stack e il problema non fornisce alcun meccanismo di scrittura.

Si risolve il problema inizializzando il valore temporaneo prima di copiare il regset dall'userspace, come avviene per altri regset (ad esempio NT_PRSTATUS, NT_PRFPREG, NT_ARM_SYSTEM_CALL). In caso di scrittura a lunghezza zero, i contenuti esistenti di POR_EL1 verranno mantenuti.

Prima della patch:

| # ./poe-test | Tentativo di scrivere NT_ARM_POE::por_el0 = 0x900d900d900d900d | SETREGSET(nt=0x40f, len=8) ha scritto 8 byte | | Tentativo di leggere NT_ARM_POE::por_el0 | GETREGSET(nt=0x40f, len=8) ha letto 8 byte | Lettura di NT_ARM_POE::por_el0 = 0x900d900d900d900d | | Tentativo di scrivere NT_ARM_POE (lunghezza zero) | SETREGSET(nt=0x40f, len=0) ha scritto 0 byte | | Tentativo di leggere NT_ARM_POE::por_el0 | GETREGSET(nt=0x40f, len=8) ha letto 8 byte | Lettura di NT_ARM_POE::por_el0 = 0xffff8000839c3d50

Dopo la patch:

| # ./poe-test | Tentativo di scrivere NT_ARM_POE::por_el0 = 0x900d900d900d900d | SETREGSET(nt=0x40f, len=8) ha scritto 8 byte | | Tentativo di leggere NT_ARM_POE::por_el0 | GETREGSET(nt=0x40f, len=8) ha letto 8 byte | Lettura di NT_ARM_POE::por_el0 = 0x900d900d900d900d | | Tentativo di scrivere NT_ARM_POE (lunghezza zero) | SETREGSET(nt=0x40f, len=0) ha scritto 0 byte | | Tentativo di leggere NT_ARM_POE::por_el0 | GETREGSET(nt=0x40f, len=8) ha letto 8 byte | Lettura di NT_ARM_POE::por_el0 = 0x900d900d900d900d

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

Responsabile

Linux

Prenotare

11/01/2025

Divulgazione

11/01/2025

Moderazione

accettato

CPE

pronto

EPSS

0.00179

KEV

no

Attività

molto basso

Fonti

Do you want to use VulDB in your project?

Use the official API to access entries easily!