Zum Hauptinhalt springen

Neues, einfacheres Muster gefunden: Toxic Frame auf Netgate SG-2100

Wim Bonis
Toxicframe PfSense Netgate Firewall Switch Network Hardware-Bug Marvell
Autor
Stylite AG
Spezialisten in ZFS storage solutions, security. Docker containerization for enterprise environments.
Inhaltsverzeichnis

Header-Bild

TL;DR
#

Neue Erkenntnisse zum Toxic Frame Bug: Durch systematische Tests und adaptive Suchalgorithmen haben wir die einfachsten toxischen Muster identifiziert, die den Hardware-Bug auf der Netgate SG-2100 auslösen. Statt 794 Bytes benötigen wir nur noch 120-121 Bytes einzelner, wiederholter Bytes – spezifisch die Byte-Werte 0x4a (74) und 0xb5 (181). Dies zeigt, dass der Bug byte-wertspezifisch ist, nicht nur längenabhängig. Das ursprüngliche 14-Byte-Muster war nur das erste identifizierte Muster – diese neuen Erkenntnisse verbessern unser Verständnis des Marvell 6000 Switch-Bugs.


Neue Erkenntnisse: Einfachste toxische Muster identifiziert
#

Nach systematischen Tests mit adaptiven Suchalgorithmen haben wir neue Erkenntnisse gewonnen: Der Toxic Frame Bug kann durch sehr einfache Muster ausgelöst werden – sogar durch einen einzelnen Byte-Wert, der nur 120-121 mal wiederholt wird.

Neue Erkenntnisse: Byte-wertspezifischer Bug
#

Der Bug ist byte-wertspezifisch, nicht nur längenbasiert! Nach Tests von 100+ zufälligen einzelnen Byte-Werten bei 794 Bytes lösen nur zwei Byte-Werte den Bug aus:

  • 0x4a (Byte-Wert 74)
  • 0xb5 (Byte-Wert 181)

Minimale toxische Längen
#

Byte-WertMinimale toxische LängeDatei
0x4a120 Bytesminimum_0x4a.bin
0xb5121 Bytesminimum_0xb5.bin

Dies sind die kleinsten bestätigten toxischen Muster – nur 120-121 Bytes eines einzelnen wiederholten Byte-Werts!

Bedeutung dieser Erkenntnisse
#

Diese Entdeckung zeigt uns:

  • Der Bug ist byte-wertspezifisch – nur 0x4a und 0xb5 lösen ihn aus (bei bestimmten Längen), nicht alle Byte-Werte
  • Die minimale toxische Länge beträgt 120-121 Bytes für diese spezifischen Byte-Werte (nicht 794 Bytes)
  • Das ursprüngliche 14-Byte-Muster war nicht besonders – es war nur das erste entdeckte Muster
  • Der Bug scheint mit spezifischen Byte-Werten zusammenzuhängen, die bei bestimmten Längen mit der Paketverarbeitung des Switches interagieren

Dies deutet darauf hin, dass der Marvell Switch einen Hardware-Bug in seiner Paketverarbeitung hat, der fehlschlägt, wenn er spezifische Byte-Werte (0x4a oder 0xb5) wiederholt in mindestens 120-121 Bytes antrifft.

Hexdump der minimalen toxischen Muster
#

minimum_0x4a.bin (120 Bytes - 100% 0x4a):

00000000: 4a 4a 4a 4a 4a 4a 4a 4a 4a 4a 4a 4a 4a 4a 4a 4a  JJJJJJJJJJJJJJJJ
00000010: 4a 4a 4a 4a 4a 4a 4a 4a 4a 4a 4a 4a 4a 4a 4a 4a  JJJJJJJJJJJJJJJJ
...
(0x4a wiederholt 120 mal - MINIMALE TOXISCHE LÄNGE)

minimum_0xb5.bin (121 Bytes - 100% 0xb5):

00000000: b5 b5 b5 b5 b5 b5 b5 b5 b5 b5 b5 b5 b5 b5 b5 b5  ................
00000010: b5 b5 b5 b5 b5 b5 b5 b5 b5 b5 b5 b5 b5 b5 b5 b5  ................
...
(0xb5 wiederholt 121 mal - MINIMALE TOXISCHE LÄNGE)

Wie diese Erkenntnisse unser Verständnis verbessern
#

Das ursprüngliche toxic.bin (1 KB) enthielt ein 14-Byte-Muster, das 39-mal wiederholt wurde. Wir dachten, dieses komplexe Muster wäre etwas Besonderes. Jetzt wissen wir:

  1. Das ursprüngliche Muster war nur der Anfang – es war das erste, das wir zufällig gefunden haben
  2. Die wahre Natur des Bugs ist viel einfacher – es geht um spezifische Byte-Werte bei bestimmten Längen
  3. Der Bug ist deterministisch und vorhersagbar – jedes Vorkommen dieser Byte-Muster bei diesen Längen wird den Transfer stoppen

Technische Implikationen
#

Diese Erkenntnisse haben folgende Auswirkungen:

  • Für Entwickler: Wir können jetzt viel effizienter nach dem Bug suchen und ihn vermeiden
  • Für Netgate: Der Hardware-Bug kann jetzt präzise beschrieben und behoben werden
  • Für Anwender: Wir verstehen jetzt besser, warum bestimmte Dateien “zufällig” an bestimmten Punkten stoppen

Repository und Testdateien
#

Alle Testdateien und das vollständige Repository sind verfügbar auf GitHub: styliteag/toxicframe .

Repository-Struktur:

├── binarys/                    # Binäre Testdateien
│   ├── toxic.bin               # Ursprüngliches 1KB toxisches File
│   ├── toxic_smallest.bin      # Kleinstes bestätigtes toxisches File
│   ├── maybe_smallest.bin      # Kandidat für noch kleineres
│   ├── simplest_1.bin          # Einfachstes: 0x4a × 794 (bestätigt toxisch)
│   ├── simplest_2.bin          # Einfachstes: 0xb5 × 794 (bestätigt toxisch)
│   ├── simplest_3.bin          # Meist 0x22 × 794 (gelegentlich)
│   ├── minimum_0x4a.bin        # MINIMUM: 0x4a × 120 (kleinstes toxisches)
│   └── minimum_0xb5.bin        # MINIMUM: 0xb5 × 121 (kleinstes toxisches)
├── tests/                      # Test-Suite
│   ├── test_toxicframe.py      # Haupt-Test-Skript
│   ├── binary_search_toxic.py  # Kleinste toxische Pakete finden
│   ├── analyze_toxic_ranges.py # Toxische Byte-Bereiche analysieren
│   └── ...                     # Mehr Test-Tools
└── presentation/               # 39C3 Lightning Talk
    ├── toxicframe.md           # Marp-Folien
    ├── toxicframe.pdf          # Exportierte PDF
    └── speaker_notes.md        # Sprecher-Notizen

Wim Bonis ist CTO der Stylite AG und beschäftigt sich schwerpunktmäßig mit Storage und Netzwerktechnik. Die Toxic Frame Analyse ist ein Community-Projekt zur Untersuchung dieses Hardware-Bugs.

Verwandte Artikel

Toxic Frame auf Netgate SG-2100: 49% und kein Byte weiter
Wim Bonis
Toxicframe PfSense Netgate Firewall Switch Network
#toxicframe auf dem 39c3: Lightning Talk über einen vier Jahre alten Hardware-Bug
Wim Bonis
Toxicframe 39c3 CCC Netgate PfSense Hardware Bug
🎹 Du hast den ARP-Ping vergessen, mein Michael!
Wim Bonis
Securepoint Firewall Failover ARP Network Troubleshooting
Can't Live Without You? Die Firewall-Illusion und die Realität
Wim Bonis
Security Firewall IT-Management Vendor-Beziehungen Open Source
Sonderzeichen in Dateinamen: Probleme mit SMB, WebDAV und Nextcloud
Wim Bonis
Storage ZFS Tools Samba Linux TrueNAS
ZFS Snapshot-Replikation in TrueNAS SCALE: Remote Backup mit Push und Pull
Wim Bonis
Storage ZFS TrueNAS Backup Replikation
S2N Konferenz 2025: Digitale Souveränität und Cyber-Resilienz im Fokus
Wim Bonis
Matteo Keller
News Storage Security Cloud
Best Practices mit ZIL/SLOG: Praxisentscheidungen statt Mythen (Teil 4)
Wim Bonis
Storage ZFS Performance
ZIL und SLOG in ZFS: Architektur, Wirkung, Risiken (Teil 3)
Wim Bonis
Storage ZFS Performance