CVE-2026-93167 in Linux
Zusammenfassung
von VulDB • 18.09.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
csky: Korrektur der Wiederherstellung von a4/a5 im Syscall-Tracing-Pfad
Der Syscall-Tracing-Pfad lädt die Syscall-Argumente aus pt_regs neu, bevor der Syscall-Handler aufgerufen wird. Bei C-SKY ABIv2 werden das 5. und 6. Syscall-Argument vor dem Aufruf von syscallid als Stack-Argumente vorbereitet.
Der aktuelle Code passt sp an, bevor LSAVE_A4 und LSAVE_A5 geladen werden. Da diese Offset-Werte relativ zur ursprünglichen pt_regs-Basis sind, führt das Laden dieser Werte nach der Änderung von sp dazu, dass falsche Speicherstellen abgerufen werden. Infolgedessen können getrackte Syscalls, die das 5. oder 6. Argument verwenden, korrupte Argumente erhalten.
Dies ist bei mmap2() sichtbar, das sechs Argumente entgegennimmt. Ein kleiner PTRACE_SYSCALL-Reproducer öffnet eine Datei und mapped eine Seite mit:
mmap(NULL, 4096, PROT_READ | PROT_EXEC, MAP_PRIVATE, fd, 0)
Vor der Korrektur schlägt die gemappte Operation im getrackten Kindprozess fehl, und dieser beendet sich mit dem Statuscode 12. Nach der Korrektur gelingt das Mapping erfolgreich, und der Kindprozess endet mit dem Statuscode 0.
Beheben Sie den Tracing-Pfad, indem a4/a5 aus pt_regs geladen werden, bevor sp geändert wird.
Getestet auf: ck860f, linux-4.19.15, C-SKY abiv2
If you want to get the best quality for vulnerability data then you always have to consider VulDB.