diff --git a/docs/design/2026-08-21-cve-remediation.md b/docs/design/2026-08-21-cve-remediation.md index 2e8d583..9c56510 100644 --- a/docs/design/2026-08-21-cve-remediation.md +++ b/docs/design/2026-08-21-cve-remediation.md @@ -380,3 +380,60 @@ wieder haben; sie war nur für die Migrationsfenster falsch. alle 24 h; der Beleg kann bis zum Folgetag dauern. Das ist kein Fehlschlag. > **STOP — Freigabe für Gate 3+4.** + +> **Gate 3+4 freigegeben durch sorb, 2026-08-21** („attacke"). + +### Slices 0–4 — durchgeführt am 2026-08-21 + +| Slice | Commit (gitops) | Status | +|---|---|---| +| 0 — Rückrollung entschärfen | `df6d291` | **DONE**, im Cluster verifiziert (`retries=0`) | +| 1 — Sicherung von Hand | — | **DONE**, 167,09 MB, Erfolg nach 20 s | +| 2 — 2026.2.3 → **2026.5.6** | `a252ac0` | **DONE**, Prüfpunkte 1–5 grün | +| 3 — 2026.5.6 → **2026.8.0** | `92add9b` | **DONE**, Prüfpunkte 1–5 grün | +| 4 — Rückrollung wieder scharf | `c9a3ae6` | **DONE**, `retries=3` im Cluster | + +**Prüfpunkte, beide Stufen:** + +| | 2026.5.6 | 2026.8.0 | +|---|---|---| +| Migrationen | sauber, **0** `inconsistency` | 56 angewandt, **0** `inconsistency` | +| Pods bereit | server + worker | server + worker | +| `/-/health/ready/` | 200 | 200 | +| Blueprints | flows=17, provider=2 | flows=17, provider=2, users=9 | +| **Echte Anmeldung** | `14:51:04 user=sorB` | `15:00:35 user=sorB` | +| Fehler Server/Worker/MAS | 0 / 0 / 0 | 0 / 0 / 0 | + +Die Anmeldungen sind **serverseitig aus Authentiks Ereignisprotokoll** belegt, +nicht aus einer Selbstauskunft — der Unterschied, der heute Vormittag Stunden +gekostet hat. + +⚠️ **Zwei Dinge liefen anders als geplant, beide meine Lücke:** + +1. **Postgres wanderte mit: 17.9 → 17.10 → 17.11.** Gate 3 führt Postgres + ausdrücklich unter „nicht Teil dieses Sprungs" — tatsächlich **kann** ich es + gar nicht ausschließen, solange es als Abhängigkeit im selben Chart hängt. + Beide Sprünge liefen sauber, aber die Grenze in Gate 3 war nicht durchsetzbar + und hätte so nicht dastehen dürfen. +2. **Der Anmeldeweg war je Stufe rund 20–45 Sekunden unten** (HTTP 503), während + die Datenbank neu startete. Bei einer Einzelreplik erwartbar — aber es stand + nirgends im Plan, und ein Nutzer, der in dem Fenster klickt, sieht einen + Fehler. + +**Und ein Fehler beim Schreiben**, der es fast in ein Manifest geschafft hätte: +Der erste Versuch, den Kommentarblock zu setzen, erzeugte **jede Zeile sechsfach** +— in Python kleben benachbarte Zeichenketten-Literale, `" "*n + "A\n" " "*n` +liest der Parser als `" "*n + ("A\n ")*n`. Aufgefallen an `50 insertions` für +neun Kommentarzeilen, also am **Diff vor dem Commit**, nicht am Ergebnis. + +### Offen bis zum nächsten Scan-Durchlauf + +- **Prüfpunkt 6:** Authentik von 27 auf 5 CRITICAL im Dashboard. Der Scan läuft + alle 24 h; der Beleg kommt frühestens beim nächsten Durchlauf. +- **Nebenbefund:** Postgres ist von 17.9 auf 17.11 gewandert. Ob sich damit auch + der zweitgrößte CVE-Posten (22 CRITICAL, davon 3 behebbar) bewegt hat, zeigt + derselbe Durchlauf. Das war Glück, nicht Absicht. +- **Kriterium 5 aus #0106** („eine neue Fassung erscheint ohne Zutun in der + Soll-Menge") steht kurz vor seinem Nachweis: Die Herleitung läuft stündlich, + die letzte lag vor dem Upgrade. Erscheint `2026.8.0` von selbst, ist das + letzte offene Kriterium von #0106 erfüllt.