diff --git a/app/templates/security.html b/app/templates/security.html index 08a6d8b..4d583db 100644 --- a/app/templates/security.html +++ b/app/templates/security.html @@ -26,4 +26,68 @@
+ ++ Das CIS basiert auf FH-Complete (Open Source, github.com/FH-Complete). + Gefunden per Source-Review statt Raten — jede Zeile = eine Prüfung, die der + Reichweiten-Check oben abdeckt oder die das Weiterentwickeln der Tests erlaubt. +
+| Stelle im Code | Mechanismus | Prüfung / Beobachtung |
|---|---|---|
| profile/index.php | +Feld-Filter: $ansicht hide Geburtsdatum/-ort, + Adresse, private Kontakte bei fremdem Profil; ausser mit Recht + basis/kontakt | +Check 2: grün = Code hält sich an sich selbst ✅ | +
| include/benutzerberechtigung.class.php | +Zentrale Prüfung $rechte->isBerechtigt('modul/recht', oe); + Rollen/Rechte in tbl_berechtigung, + tbl_rolleberechtigung | +Audit-Kriterium: Jede Seite mit Personen-/Plandaten MUSS diese Klasse + aufrufen — fehlender Aufruf = Fund. Unsere 4 roten Checks sind genau + die Seiten ohne wirksame Prüfung (LV-Plan, Autocomplete, bild.php, + stud_in_grp). | +
| public/bild.php?src=person&person_id= | +Foto-Schutz nur über person.foto_sperre + (dann Dummy-Bild); keine Rollenprüfung, IDs fortlaufend | +Check 3: Foto-IDOR. FIX-Hebel für den Report: foto_sperre + default-mäßig einschalten oder Prüfung einbauen. | +
| lvplan/stpl_week.php · stpl_kalender.php | +Plan für beliebige pers_uid ohne + Berechtigungscheck | +Check 5: jeder Login sieht fremde Termine/Räume. Ist teils + gewollt (Raumsuche) — Meldung: Umfang dokumentieren. | +
| lvplan/lvplan_autocomplete.php | +Autocomplete benutzer liefert ganzes Directory + ohne Rollenfilter | +Check 1: 5735 Personen / 5 Requests. | +
| extensions/FHC-Core-Anwesenheiten | +Prüfungen deklariert pro Action im Controller + (PermissionLib->isBerechtigt) | +Auf der Live-Instanz nicht installiert (404) — im Report als + "nicht testbar" vermerken. | +
| extensions/FHC-Core-DSMS | +eigenes Datenschutz-Modul der Plattform | +Belegt: Feldebene ist eine konfigurierte Funktion, kein Bug — + ihre Korrektheit ist genau das, was Check 2 dynamisch validiert. | +