From d809b3f69591cc5bd4d3db90dda14732a6ccc9f8 Mon Sep 17 00:00:00 2001 From: Thore Cimbal Date: Wed, 19 Aug 2026 12:00:00 +0000 Subject: [PATCH] config(element): remove the interface path to a foreign homeserver Decision sorb. Hides the edit button beside the server name, so the homeserver can no longer be switched through the UI, and the 401/403 login error now names the server rather than staying generic. Honest about its reach, in the comment as well as here: it is a surface restriction. MatrixChat still takes hs_url from the query string in two registration flows without consulting this setting, so a crafted link is unaffected. Against GHSA-wrcp-5v3v-3j6v - open since 2026-07-20, affecting everything below 1.12.22 while we run 1.12.17 - it narrows the way in without closing it. The update in management #0099 remains the actual fix. The matching line went into the desktop client separately, since that one carries its own config.json. --- apps/production/custom-configs/element-values.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/production/custom-configs/element-values.yaml b/apps/production/custom-configs/element-values.yaml index d037d0d..6c01b14 100644 --- a/apps/production/custom-configs/element-values.yaml +++ b/apps/production/custom-configs/element-values.yaml @@ -15,6 +15,8 @@ data: config.json: | { "brand": "aXion1337.Chat", + "_kommentar_custom_urls": "Entscheidung sorb 2026-08-19 (management #0099). Blendet den 'Bearbeiten'-Knopf am Servernamen aus (ServerPicker.tsx) - der Homeserver ist damit ueber die Oberflaeche nicht mehr wechselbar, und die Login-Fehlermeldung benennt bei 401/403 den Server statt generisch zu bleiben (ErrorUtils.tsx). Es ist eine OBERFLAECHEN-Sperre: der hs_url-Query-Parameter wird in MatrixChat.tsx (mobile Registrierung, Registrierungs-Bestaetigung) weiterhin ohne diese Pruefung uebernommen. Gegen das offene Advisory GHSA-wrcp-5v3v-3j6v (betrifft < 1.12.22, wir laufen 1.12.17) verengt das die Flaeche, ersetzt aber NICHT das Upstream-Update aus #0099. Dieselbe Zeile muss im Desktop-Client stehen - der hat seine eigene config.json.", + "disable_custom_urls": true, "_kommentar_bug_report": "local = der Knopf erscheint als 'Protokolle herunterladen'; die Logs bleiben auf dem Geraet und gehen an KEINEN Server. Ohne diesen Wert ist die ganze Sektion unsichtbar und Nutzer kommen gar nicht an ihre Logs (ThreadNet-Web#9). Der element.io-Endpunkt wurde am 2026-08-01 bewusst entfernt - dieser Wert holt die Faehigkeit zurueck, ohne den Abfluss.", "bug_report_endpoint_url": "local", "_kommentar_report_event": "Weg B (Entscheidung sorb 2026-08-15): Meldungen bleiben im event_reports-Speicher des Servers und werden ueber Element Admin gesichtet - Draupnir bekommt dafuer BEWUSST keine Server-Admin-Rechte. Ohne diesen Text sieht der Melder nach dem Absenden gar nichts und weiss nicht, ob und an wen die Meldung geht (#0045).",