cidc1392
tipsigurnosni_fix_dokaz
formatDOKARH-2026 v2.0
serverEU (217.160.71.124)
povodCjelina 3 blizanac: jutros zatvoren read-leak (c1386), ostala aktivna WRITE izloženost. Izmjereno (probe_write_auth, zero side-effect): 24 create-rute BEZ auth → neautenticirano pisanje PII (osobe/komitenti/pacijenti) + tenant impersonacija/aktivacija. Korijen: bile u _JAVNI_PREFIKSI → javni write.
izmjereno_prije{
"no_auth_422": 24,
"labirint_decoy_200": 13,
"gated_401": 11,
"napomena": "13 'FLAG-200' bili LABIRINT mamci (provjereno tijelom: kreator membrana@fenix/borg@asimilacija), ne pravi create"
}
fix{
"middleware": "services/sudac_middleware.py — _SOBE_WRITE_TREBA_SESIJU (11 prefiksa) + write-gate u _handle: POST/PUT/PATCH/DELETE bez valjane sesije → honest 401 (ne labirint)",
"prefiksi_11": [
"osobe",
"komitenti",
"pacijenti",
"partneri",
"podruznice",
"skladista",
"tenants",
"transfers",
"artikli",
"zalihe_optika",
"narudzbe"
],
"media_simbioza": "api/media.py — handler-side _media_upload_dozvoljen: sesija ILI soba_token vezan uz POSTOJE
dokaz_ponasanja{
"write_gate_bez_tokena": "401 na svih 11 (11/11)",
"owner_write": "POST /osobe/ + /me-potvrden token (invalid body) → 422 (prosao gate, nista stvoreno)",
"owner_read": "GET /osobe/ + token → 200 (prosao read-gate)",
"media_anon": "valjan multipart bez sesije → 401 ×3 (uklj. soba_token=../../etc/passwd), nista stvoreno",
"login_roundtrip": "8/8 zeleno (registracija→verify→/me→odjava→krivi potpis)",
"read_gate_jutrosnji": "i dalje 401 bez / 200 sa sesijom",
"predvorje": "checkin/sm
lekcijaBurst re-test pokazao 'owner→401' — bio Puž Fibonacci artifakt (owner token prazan, 10. auth poziv u nizu). Surgicki /me-potvrden token dokazao gate ispravnim. Nisi revertao na lazni 401 — izmjeren izvor (ista disciplina kao c1386).
backupservices/sudac_middleware.py.bak_write_20260614, api/media.py.bak_write_20260614
ostaje_nitdispo write-gate (mjeri driver-PIN auth flow → daje li Redis sesiju), pa onda gate. Zaseban chain entry kad se zatvori.
zakonZAKON NAD ZAKONIMA (dokaz ponasanja pokazan, ne tvrdnja) · ZAKON 32 (fix=chain) · ZAKON 29 (sigurnost default) · ZAKON 46 (bez over-claima; dispo posten kao OSTAJE)
citacijaAktivna izloženost ne čeka, nedovršenost čeka. Read-leak jutros, write-injekcija sada — obje strane zida.
krunica_hashbbf85213d0dbbf99d75bfc81d0d794828ce1dd9bc761db6ebbbfde201229b100