Out-of-Bounds Read
Was ist Out-of-Bounds Read?
Out-of-Bounds ReadSpeichersicherheitsfehler (CWE-125), bei dem Software vor, hinter oder ausserhalb des vorgesehenen Puffers liest und benachbarte Speicherinhalte preisgibt.
Ein Out-of-Bounds-(OOB-)Read entsteht, wenn ein Programm einen angreiferbeeinflussten Index, eine Laenge oder einen Pointer nutzt, um vor dem Anfang oder hinter dem Ende eines Buffers zu lesen. Die preisgegebenen Bytes koennen kryptografische Schluessel, Sitzungstokens, ASLR-brechende Pointer oder andere Prozessgeheimnisse enthalten. Kanonisches Beispiel ist Heartbleed (CVE-2014-0160) in OpenSSL: ein TLS-Heartbeat lieferte bis zu 64KB Speicher, weil dem angreifergesteuerten Laengenfeld vertraut wurde. OOB-Reads sind als CWE-125 gefuehrt und werden oft mit Write-Primitiven kombiniert, um Code-Ausfuehrung zu erreichen. Gegenmassnahmen: bounds-checked APIs, speichersichere Sprachen (Rust, modernes C++), Sanitizer (ASan, KASAN), Fuzzing, Hardware-Tagging (MTE).
● Beispiele
- 01
Heartbleed (CVE-2014-0160): OpenSSL leakt bis zu 64KB Speicher via TLS-Heartbeat.
- 02
Image-Parser liest ueber ein Chunk-Size-Feld hinaus und liefert in API-Antworten angreiferlesbare Pixel.
● Häufige Fragen
Was ist Out-of-Bounds Read?
Speichersicherheitsfehler (CWE-125), bei dem Software vor, hinter oder ausserhalb des vorgesehenen Puffers liest und benachbarte Speicherinhalte preisgibt. Es gehört zur Kategorie Angriffe und Bedrohungen der Cybersicherheit.
Was bedeutet Out-of-Bounds Read?
Speichersicherheitsfehler (CWE-125), bei dem Software vor, hinter oder ausserhalb des vorgesehenen Puffers liest und benachbarte Speicherinhalte preisgibt.
Wie funktioniert Out-of-Bounds Read?
Ein Out-of-Bounds-(OOB-)Read entsteht, wenn ein Programm einen angreiferbeeinflussten Index, eine Laenge oder einen Pointer nutzt, um vor dem Anfang oder hinter dem Ende eines Buffers zu lesen. Die preisgegebenen Bytes koennen kryptografische Schluessel, Sitzungstokens, ASLR-brechende Pointer oder andere Prozessgeheimnisse enthalten. Kanonisches Beispiel ist Heartbleed (CVE-2014-0160) in OpenSSL: ein TLS-Heartbeat lieferte bis zu 64KB Speicher, weil dem angreifergesteuerten Laengenfeld vertraut wurde. OOB-Reads sind als CWE-125 gefuehrt und werden oft mit Write-Primitiven kombiniert, um Code-Ausfuehrung zu erreichen. Gegenmassnahmen: bounds-checked APIs, speichersichere Sprachen (Rust, modernes C++), Sanitizer (ASan, KASAN), Fuzzing, Hardware-Tagging (MTE).
Wie schützt man sich gegen Out-of-Bounds Read?
Schutzmaßnahmen gegen Out-of-Bounds Read kombinieren typischerweise technische Kontrollen und operative Praktiken, wie in der Definition oben beschrieben.
Welche anderen Bezeichnungen gibt es für Out-of-Bounds Read?
Übliche alternative Bezeichnungen: OOB-Read, CWE-125.
● Verwandte Begriffe
- vulnerabilities№ 131
Pufferüberlauf
Speicher-Sicherheitslücke, bei der ein Programm über das Ende eines allokierten Puffers hinausschreibt, benachbarten Speicher überschreibt und häufig Codeausführung ermöglicht.
- attacks№ 544
Integer Underflow
Arithmetik-Fehler (CWE-191): Eine Subtraktion auf einem vorzeichenlosen Wert unter null wickelt sich zu einer riesigen Zahl, was ueberdimensionierte Allokationen oder Bufferueberlaeufe ermoeglicht.
- vulnerabilities№ 667
Speicherkorruption
Sammelbegriff für Schwachstellen, bei denen ein Programm außerhalb der vorgesehenen Speichergrenzen schreibt und so Typsicherheit, Kontrollfluss oder Datenintegrität untergräbt.
- vulnerabilities№ 1193
Use-After-Free
Speicher-Sicherheitsfehler, bei dem ein Programm Speicher weiterhin nutzt, nachdem dieser bereits freigegeben wurde – ermöglicht oft Kontrolle über Objektzustand und Kontrollfluss.