Skip to content

v3.6.1 — Fuzzing der Input-Parser + Fix: Storno-Dialog im Vordergrund

Choose a tag to compare

@marcobockelbrink marcobockelbrink released this 28 Jul 14:19
v3.6.1
3a66de4

🐛 Fix: Storno-Dialog erschien hinter der Detailkarte

Gemeldet: Cluster anklicken → in der Detailkarte bei einer Reservierung „Storno" drücken → der Kommentar-Dialog ging hinter der Karte auf.

Ursache: Die Detailkarte lag auf z-index:20, die Dialoge nur auf z-index:10. Dialoge jetzt auf z-index:40 → liegen über allem (End-to-End im Browser verifiziert: card=20 modal=40).

🔬 Fuzzing der Parser für ungetrusteten Input (Scorecard: Fuzzing erfüllt)

Neu: tests/fuzz/fuzz_parsers.py fuzzt genau die Stellen, an denen das Dashboard fremde Daten parst:

  • kapa/ldap.py BER/TLV-Decoder — der handgeschriebene Parser für rohe LDAPS-Bytes (also potenziell von einem bösartigen AD). Das Lehrbuch-Fuzzing-Ziel.
  • _dn_to_cn (Distinguished Names) und parse_tag_json (vROps-Tag-JSON)

Zwei Modi, ehrlich gebaut:

  • Coverage-guided mit Atheris (Dev/CI-Werkzeug, keine Laufzeit-Abhängigkeit) — Scorecards Fuzzing-Check erkennt das import atheris
  • Standardbibliothek-Modus (--stdlib, ohne Zusatzsoftware) — läuft überall, wird bei jedem Smoke-Lauf 2.000 Runden mitgeprüft

Ergebnis: 30.000 Zufallsrunden lokal → 0 unerwartete Abstürze. Der Code war schon robust; Fuzzing sichert das dauerhaft ab und schließt den Scorecard-Fuzzing-Punkt mit echtem Nutzen statt Kosmetik.

(Optional als nächster Schritt: ClusterFuzzLite für kontinuierliches CI-Fuzzing — bringt aber eine Container-Build-Kette mit, daher bewusst noch nicht drin.)

Qualität

123 Smoke-Checks + Frontend-Check grün · Deploy-Tags 3.6.1 · Commit + Tag signiert (Verified ✓)