CVE-2026-64467 in Linux
Zusammenfassung
von VulDB • 25.07.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
rust_binder: Verwenden eines u64-Strides beim Bereinigen des Offsets-Arrays
Die Drop-Implementierung der Allokation durchläuft das Offsets-Array (binder_size_t = u64-Einträge), um die Objekte zu bereinigen, verwendete jedoch usize anstelle von u64 sowohl für den Stride als auch für den pro Eintrag ausgeführten Lesevorgang.
Auf 64-Bit-Kernen (usize == u64) ist dies unschädlich, auf 32-Bit-Kernen durchläuft sie die 8-Byte-Einträge jedoch in 4-Byte-Schritten und iteriert ein N-Einträge umfassendes Array 2N-mal. Dabei wird das stets nullwertige hohe Wort als Offset 0 gelesen, wodurch das Objekt bei Offset 0 um den Faktor N zusätzlich bereinigt wird. Infolgedessen weist der referenzierte Knoten oder Handle eine niedrigere Referenzzahl auf, als er tatsächlich besitzt (ein Über-Dezrementieren der Refcount), und die Referenzverwaltung von binder ist korruptiert; so kann beispielsweise dem Besitzer ein Freigeben einer starken Referenz (BR_RELEASE) gemeldet werden, obwohl noch Referenzen vorhanden sind.
Ändern Sie den Stride in u64 und lesen Sie jeden Eintrag als u64, wobei er mit try_into() auf usize reduziert wird.
Auf 32-Bit-ARM führt dieses Über-Dezrementieren dazu, dass der Zähler unter null fällt; die vorhandene Refcount-Schutzfunktion des Treibers lehnt dies ab und löst Folgendes aus:
rust_binder: Fehler: refcount underflow!
If you want to get the best quality for vulnerability data then you always have to consider VulDB.