dms-kanban: SEC-08/SEC-09 aus DMS-Vergleichsreview angelegt #364

Closed
patrick wants to merge 2 commits from feature/sec-08-09-rbac-cmis-audit into chore/dms-kanban-security-folgetickets
pull from: feature/sec-08-09-rbac-cmis-audit
Owner

Baut auf #357 (SEC-01..07) auf. Zwei weitere Tickets aus dem DMS-Vergleichsreview (Fable 5.1) gegen paperless-ngx/Alfresco/Docspell/ecoDMS:

  • SEC-08: policyclient.ObjectAllowed (Core RBAC-11, Objektrechte/Ordner-ACL inkl. Gruppen) existiert fertig implementiert, wird aber nirgends aufgerufen. RBAC bleibt faktisch Owner-only - genau die paperless-ngx/Docspell-Schwaeche, die NEXARCH laut dms/README.md vermeiden wollte. Ticket enthaelt 2 offene Fragen (groupIDs-Herkunft, Pfadauflösung), die vor Umsetzung geklaert werden muessen.
  • SEC-09: CMIS-Binding behandelt Autorisierung pauschal als erlaubt (authz.go case "cmis": return true), Identitaet wird aus Query-Parameter statt verifizierter moduleauth-Identitaet gelesen. Ob das ein echter Bypass ist oder durch internen Re-Dispatch bereits abgefangen wird, ist ungeklaert - Ticket verlangt eine Ausgangsmessung (echter Angriffsversuch) vor jedem Fix.

Kein Code-Fix in diesem PR, nur Ticket-Anlage (board.csv/board.json + tickets/SEC-08.md, SEC-09.md).

🤖 Generated with Claude Code

Baut auf #357 (SEC-01..07) auf. Zwei weitere Tickets aus dem DMS-Vergleichsreview (Fable 5.1) gegen paperless-ngx/Alfresco/Docspell/ecoDMS: - **SEC-08**: `policyclient.ObjectAllowed` (Core RBAC-11, Objektrechte/Ordner-ACL inkl. Gruppen) existiert fertig implementiert, wird aber nirgends aufgerufen. RBAC bleibt faktisch Owner-only - genau die paperless-ngx/Docspell-Schwaeche, die NEXARCH laut dms/README.md vermeiden wollte. Ticket enthaelt 2 offene Fragen (groupIDs-Herkunft, Pfadauflösung), die vor Umsetzung geklaert werden muessen. - **SEC-09**: CMIS-Binding behandelt Autorisierung pauschal als erlaubt (`authz.go` case "cmis": return true), Identitaet wird aus Query-Parameter statt verifizierter moduleauth-Identitaet gelesen. Ob das ein echter Bypass ist oder durch internen Re-Dispatch bereits abgefangen wird, ist ungeklaert - Ticket verlangt eine Ausgangsmessung (echter Angriffsversuch) vor jedem Fix. Kein Code-Fix in diesem PR, nur Ticket-Anlage (board.csv/board.json + tickets/SEC-08.md, SEC-09.md). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
patrick added 1 commit 2026-10-19 02:54:37 +02:00
Fable-5.1-Vergleich gegen paperless-ngx/Alfresco/Docspell/ecoDMS fand zwei
strukturelle Luecken, die ueber die bereits angelegten SEC-01..07 hinausgehen:
SEC-08 (ObjectAllowed-Objektrechte existieren im Code, werden nie aufgerufen,
RBAC bleibt faktisch Owner-only wie paperless-ngx/Docspell) und SEC-09 (CMIS
behandelt Autorisierung pauschal als erlaubt, Identitaet aus Query-Parameter
statt verifizierter Identitaet - Realitaet des Bypasses noch ungeklaert,
Ticket verlangt Ausgangsmessung vor dem Fix). Beide Tickets enthalten offene
Fragen (groupIDs-Herkunft, CMIS-Re-Dispatch-Verhalten), die vor Umsetzung
geklaert werden muessen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
patrick added 1 commit 2026-10-19 03:04:40 +02:00
Ausgangsmessung durchgefuehrt statt nur Code gelesen: bestehender Test
dms/internal/cmis/cmis_test.go::TestPermissionParityWithREST auf Host 204
gegen echte migrierte Testdatenbank ausgefuehrt (TEST_TENANT_DSN), PASS.
Bestaetigt per echtem Testlauf: fremder Nutzer mit gueltigem Token liest
fremdes Dokument ueber CMIS -> 403; gefaelschter caller-Parameter neben
echtem fremden Token -> weiterhin 403 (Token-Identitaet gewinnt). Ursache:
cmisBackend.Set(routes) in cmd/app/main.go:109 verdrahtet CMIS auf die
komplette Middleware-Kette, interner Re-Dispatch prueft CanAccessDocument/
CanAccessFolder erneut. Kein Code-Fix noetig, Ticket dokumentiert die
negative Pruefung.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Author
Owner

Branch ohne gemeinsame Historie zu main, Inhalt betrifft ausschliesslich das inzwischen aus main entfernte dms-kanban-Board (PR #367). Kein Merge-Wert mehr, geschlossen.

Branch ohne gemeinsame Historie zu main, Inhalt betrifft ausschliesslich das inzwischen aus main entfernte dms-kanban-Board (PR #367). Kein Merge-Wert mehr, geschlossen.
patrick closed this pull request 2026-10-19 12:51:35 +02:00

Pull request closed

Please reopen this pull request to perform a merge.
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: scripte/nexarch#364