CVE-2023-40547 - Vermeidung von Vertrauensfehlern bei HTTP-Headern
- shim versucht, beim Abrufen von Dateien über HTTP oder verwandte Protokolle einen Puffer für die Speicherung der empfangenen Daten zuzuweisen.
- Die Puffergröße wird über HTTP-Header bestimmt, doch diese Header können manipuliert werden und eine kleinere Größe als die tatsächlichen Daten angeben.
- Dadurch basiert die Zuweisung auf dem Header, während zum Kopieren aus dem rx-Puffer Protokoll-Metadaten verwendet werden, was zu einem Pufferüberlauf führt.
- Dieser Patch fügt zusätzlich eine Prüfung hinzu, die sicherstellt, dass der rx-Puffer nicht größer als die zugewiesene Größe ist.
Prüfung der geänderten Datei
- Die geänderte Datei ist
httpboot.c; sie enthält 7 Ergänzungen und 1 Löschung.
- Die wichtigste Änderung ist, dass in der Funktion
receive_http_response nun ein Fehler zurückgegeben wird, wenn buf_size kleiner als rx_message.BodyLength ist.
Meinung von GN⁺
- Dieser Patch behebt die Sicherheitslücke CVE-2023-40547 und ist ein wichtiges Update zur Erhöhung der Sicherheit des shim-Bootloaders.
- Ein Pufferüberlauf über HTTP-Header kann eine schwerwiegende Sicherheitsbedrohung darstellen, und die Vermeidung solcher Schwachstellen ist ein Kernelement der Softwaresicherheit.
- Der Artikel bietet Softwareentwicklern hilfreiche Informationen, die an die Bedeutung von Sicherheits-Patches und die Notwendigkeit einer korrekten Pufferverwaltung erinnern.
Noch keine Kommentare.