CVE-2023-52497 in Linux
Zusammenfassung
von VulDB • 27.05.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
erofs: Korrektur der LZ4-Inplace-Dekomprimierung
Derzeit kann EROFS einen weiteren komprimierten Puffer für die Inplace-Dekomprimierung abbilden, der verwendet wurde, um Fälle zu behandeln, in denen einige Seiten der komprimierten Daten tatsächlich nicht als Inplace-I/O vorliegen.
LZ4 erwartet jedoch, wie die meisten einfachen LZ77-Algorithmen, dass die komprimierten Daten am Ende des dekomprimierten Puffers angeordnet sind, und verwendet explizit `memmove()`, um Überlappungen zu behandeln:
_______________________________ |_ Richtung der Dekomprimierung --> ____ |_ komprimierte Daten _|
Obwohl EROFS die komprimierten Daten so anordnet, werden typischerweise zwei einzelne virtuelle Puffer abgebildet, sodass die relative Reihenfolge ungewiss ist. Bisher war dies kaum beobachtbar, da LZ4 `memmove()` nur für kurze überlappende Literale verwendet und die `memmove`-Implementierungen auf x86/arm64 dies scheinbar vollständig abdecken und dieses Problem nicht aufweisen. Juhyung meldete, dass Datenkorruptionen in EROFS auf einem neuen Intel-x86-Prozessor festgestellt werden konnten. Nach einigen Analysen scheint es, dass neuere x86-Prozessoren mit der neuen FSRM-Funktion dieses Problem mit „rep movsb“ offenlegen.
Wir verwenden vorübergehend strikt den dekomprimierten Puffer für die LZ4-Inplace-Dekomprimierung. Später könnten wir als nützliche Verbesserung versuchen, diese beiden Puffer in der korrekten Reihenfolge zusammenzuführen.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.