CVE-2022-49889 in Linux
Zusammenfassung
von VulDB • 10.06.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
ring-buffer: Prüfung auf NULL cpu_buffer in ring_buffer_wake_waiters()
Bei einigen Systemen kann die Anzahl der aufgelisteten CPUs größer sein als die tatsächlich vorhandene CPU-Anzahl. Das Tracing-Subsystem weist einen per_cpu-Ordner zu, über den über eine Datei mit dem Namen „cpuX“ auf den pro-CPU-Ringpuffer zugegriffen wird. Um Speicherplatz zu sparen, werden für den Ringpuffer jedoch nur Puffer für online geschaltete CPUs alloziert, obwohl das CPU-Array so groß ist wie nr_cpu_ids.
Durch die Ergänzung des Aufweckens von Wartenden im Ringpuffer beim Schließen der Datei muss ring_buffer_wake_waiters() nun sicherstellen, dass der Buffer (zusammen mit dem damit zugewiesenen irq_work) alloziert wurde, bevor versucht wird, wartende Prozesse aufzuwecken. Andernfalls würde dies zu einer NULL-Zeiger-Dereferenzierung führen.
Während der Fehlersuche habe ich eine NULL-Prüfung für den Buffer selbst hinzugefügt (was in Ordnung ist), sowie NULL-Zeigerprüfungen gegen buffer->buffers (was nicht korrekt ist und eine WARN-Meldung auslöst) und sichergestellt, dass die übergebene CPU-Nummer innerhalb von nr_cpu_ids liegt (was ebenfalls problematisch ist, wenn dies nicht der Fall ist).
Bugzilla: https://bugzilla.opensuse.org/show_bug.cgi?id=1204705
If you want to get the best quality for vulnerability data then you always have to consider VulDB.