
TL;DR#
Der Toxic Frame Bug auf der Netgate SG-2100 ist behoben. Mit pfSense Plus 25.11.1 (veröffentlicht am 26. Januar 2026) hat Netgate die LAN-Port-Parameter des integrierten Switches aktualisiert. Die Verifizierung bestätigt: toxic.bin, minimum_0x4a.bin und minimum_0xb5.bin werden jetzt fehlerfrei übertragen. Der Bug-Tracker-Eintrag Redmine #16633
ist geschlossen.
Rückblick: Die Toxic-Frame-Saga#
„Wer reitet so spät durch Nacht und Wind?"
Was im November 2025 mit einem mysteriösen Abbruch bei exakt 49% begann, entwickelte sich zu einer intensiven Fehlersuche durch mehrere Schichten der Netzwerk-Hardware. Die Geschichte in drei Akten:
- Toxic Frame auf Netgate SG-2100: 49% und kein Byte weiter – Die Entdeckung des Bugs: Ein spezifisches Byte-Muster stoppt Dateiübertragungen deterministisch auf der SG-2100.
- Neues, einfacheres Muster gefunden
– Der Durchbruch: Nur 120-121 Bytes der Byte-Werte
0x4aoder0xb5reichen aus, um den Bug auszulösen. - Bug Report an Netgate – Die Dokumentation für den Hersteller mit reproduzierbaren Testdateien, PCAPs und Videos.
Über Monate hinweg wurde systematisch isoliert, getestet, dokumentiert und kommuniziert. Parallel wurde das Problem auf dem 39C3 Lightning Talk vorgestellt und der Hashtag #toxicframe in der Community verbreitet.
Der Fix: pfSense Plus 25.11.1#
Am 26. Januar 2026 veröffentlichte Netgate das Maintenance-Release pfSense Plus 25.11.1. In den Release Notes findet sich der entscheidende Eintrag:
“The LAN port link parameters on the Netgate 2100 have been updated to address a potential signal transmission issue”
Der zugehörige Bug-Tracker-Eintrag Redmine #16633 – „Packets containing a specific byte pattern may not be transmitted via switch ports on the Netgate 2100" – wurde am 6. Februar 2026 geschlossen.
Wichtig: Der Fix betrifft ausschließlich die Netgate 2100. Andere Modelle waren von diesem Bug nicht betroffen.
Verifizierung#
Nach dem Update auf pfSense Plus 25.11.1 wurde die gesamte Testsuite erneut durchlaufen:
| Testdatei | Ergebnis vor Fix | Ergebnis nach Fix |
|---|---|---|
toxic.bin | ❌ Abbruch | ✅ Erfolgreich |
minimum_0x4a.bin (120 Bytes) | ❌ Abbruch | ✅ Erfolgreich |
minimum_0xb5.bin (121 Bytes) | ❌ Abbruch | ✅ Erfolgreich |
Alle drei Testdateien – das ursprüngliche toxische Muster und die beiden minimalen Muster – werden jetzt vollständig und fehlerfrei durch die SG-2100 übertragen. Mehrfache Tests bestätigen die Stabilität des Fixes.
„Der Admin atmet auf, der Transfer gelingt,
kein Frame mehr, der Stille und Stillstand bringt."
Was genau wurde geändert?#
Die offizielle Beschreibung bleibt knapp: „LAN port link parameters updated". Netgate gibt an, dass der Bug „tracked and solved internally" wurde. Öffentliche Commit-Referenzen oder eine detaillierte Root-Cause-Analyse wurden nicht veröffentlicht.
Was bekannt ist:
- Die LAN-Port-Link-Parameter des integrierten Marvell-Switches wurden angepasst
- Nur die Netgate 2100 ist betroffen und wurde gefixt
- Nach dem Update zeigt
sysctl -aeinen neuen Parameter:
dev.mvneta.1.2100_switch_fixup: 1
Auffällig ist der Parameter dev.mvneta.1.2100_switch_fixup, der auf 1 gesetzt ist. Dieser Schalter ist kein Standard-FreeBSD-Tunable, sondern wurde von Netgate eigens eingeführt, um einen Hardware-Workaround für den integrierten Switch des Netgate 2100 zu aktivieren.
Was weiterhin unklar bleibt:
- Welche exakten Änderungen der Workaround an den Switch-Registern vornimmt
- Warum genau die Byte-Werte
0x4aund0xb5das Problem auslösten
Für die Community wäre eine detailliertere technische Erklärung interessant gewesen – aber das Wichtigste ist: Der Bug ist behoben.
Anerkennung#
An dieser Stelle ist Anerkennung angebracht. Netgate hat den Bug ernst genommen, im Bug-Tracker aufgenommen und innerhalb weniger Wochen einen Fix bereitgestellt. Das Netgate-Team hat den Fix in ein reguläres Maintenance-Release integriert.
Timeline#
| Datum | Ereignis |
|---|---|
| November 2025 | Bug entdeckt und dokumentiert – toxic.bin identifiziert |
| Dezember 2025 | Einfachste toxische Muster gefunden (0x4a/0xb5 bei 120-121 Bytes) |
| Dezember 2025 | Lightning Talk auf dem 39C3 |
| Januar 2026 | Redmine #16633 erstellt |
| 26. Januar 2026 | Fix veröffentlicht in pfSense Plus 25.11.1 |
| 6. Februar 2026 | Redmine #16633 geschlossen |
| Februar 2026 | Fix verifiziert – alle Testdateien übertragen erfolgreich |
Fazit#
„Der Vater schaudert, er reitet geschwind –
doch diesmal lacht in den Armen das Kind.
Der Frame passiert, der Transfer gelingt,
der Erlkönig schweigt, kein Byte mehr verspringt."
Die Toxic-Frame-Saga findet ein gutes Ende. Was als mysteriöser Abbruch bei 49% begann und sich zu einer tiefgehenden Hardware-Analyse entwickelte, ist jetzt gelöst. Der Erlkönig wurde gebannt.
Alle Artikel der Serie:
- Toxic Frame auf Netgate SG-2100: 49% und kein Byte weiter
- Neues, einfacheres Muster gefunden: Toxic Frame auf Netgate SG-2100
- Bug Report: Toxic Frame on Netgate SG-2100
GitHub Repository: styliteag/toxicframe – Testdateien, Analyse-Tools und Präsentation
Redmine: #16633 – Packets containing a specific byte pattern may not be transmitted via switch ports on the Netgate 2100
Release Notes: pfSense Plus 25.11.1
Wim Bonis ist CTO der Stylite AG und beschäftigt sich schwerpunktmäßig mit Storage und Netzwerktechnik.
