fix(security): API-Keys nur für Admins, Mailversand ohne Datei-/URL-Zugriff

- ApiKeysController verlangt MANAGE_SETTINGS. Bisher konnte jeder
  OIDC-Benutzer einen API-Key erzeugen, der im PermissionsGuard jede
  Rechteprüfung umgeht (Rechteausweitung zum Admin).
- MailService setzt disableFileAccess/disableUrlAccess für jede Mail.
- send-email im Posteingang prüft den Body streng auf Strings/Zahlen.
  Bisher liest nodemailer bei html: { path: '/proc/self/environ' }
  beliebige Serverdateien ein und verschickt sie.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
bjoernpoettkerandClaude Opus 5.5 committed 2026-11-04 10:46:43 +01:00
1 parent 0406354b8b
commit bb8bf3714f
7 files changed
+192 -9

No files matched your search

@@ -69,6 +69,10 @@ export class MailService {
filename: a.filename,
content: a.content,
})),
// Inhalte kommen teils vom Aufrufer: nodemailer darf nie Dateien vom
// Server lesen oder URLs abrufen (`{ path }` / `{ href }`).
disableFileAccess: true,
disableUrlAccess: true,
});
this.logger.log(