diff --git a/docs/issues/0099-threadnet-web-12-upstream-sicherheitsfixes-lassen-sich-nicht-m.md b/docs/issues/0099-threadnet-web-12-upstream-sicherheitsfixes-lassen-sich-nicht-m.md index 62874d9..9171143 100644 --- a/docs/issues/0099-threadnet-web-12-upstream-sicherheitsfixes-lassen-sich-nicht-m.md +++ b/docs/issues/0099-threadnet-web-12-upstream-sicherheitsfixes-lassen-sich-nicht-m.md @@ -81,3 +81,36 @@ ohnehin eine eigene Entscheidung — bei geschlossener Föderation liegt „nein Schritte 2–4 (Upstream als Remote, Graft-Versuch, Patch-Auftragsverfahren) bleiben offen; sie sind der eigentliche Umfang dieses Issues. + +## Teilmaßnahme 2026-08-19 — `disable_custom_urls` an beiden Stellen + +Entscheidung sorb. Gesetzt in **zwei** Dateien, nicht in einer: + +| Ort | Datei | Commit | wirksam | +|---|---|---|---| +| Web-Client | `gitops:apps/production/custom-configs/element-values.yaml` | `d809b3f` | mit dem Flux-Abgleich (Element liest `config.json` beim Laden) | +| Desktop-Client | `ThreadNet-Web:apps/desktop/axion1337/config.json` | `e1e9a19` | **erst mit dem nächsten Desktop-Build** | + +Die zweite Stelle wäre fast durchgerutscht: Der Desktop-Client lädt seine **eigene** +`config.json`, nicht die des Web-Deployments — derselbe Fallstrick wie beim +Themes-Rollout. Eine Änderung nur in `element-values.yaml` hätte den Web-Client +abgesichert und genau die Builds unberührt gelassen, die verteilt werden. + +### Was sie bewirkt — und was nicht + +Im Code unserer Fassung nachgelesen, nicht angenommen: + +- `ServerPicker.tsx`: Der **„Bearbeiten"-Knopf am Servernamen wird nicht gerendert**. + Über die Oberfläche ist der Homeserver damit nicht mehr wechselbar. +- `ErrorUtils.tsx`: Bei 401/403 benennt die Fehlermeldung den Server, statt generisch + zu bleiben — kleiner Nebengewinn für den Alltag. + +⚠️ **Es ist eine Oberflächen-Sperre, keine technische.** `MatrixChat.tsx` übernimmt +`hs_url` weiterhin aus der URL — in zwei Registrierungs-Flüssen (mobile Registrierung, +Bestätigungslink) und **ohne** `disable_custom_urls` zu prüfen. Ein präparierter Link +bleibt davon unberührt. + +**Für `GHSA-wrcp-5v3v-3j6v` heißt das:** Der bequeme, sichtbare Weg zu einem fremden +Homeserver ist weg, alle Wege sind es nicht. Die Maßnahme senkt die Wahrscheinlichkeit, +dass jemand versehentlich oder auf Zuruf woanders landet — sie ist **kein Ersatz** für +das Upstream-Update. Das bleibt Schritt 2–4 dieses Issues.