Spam-Tab: Anhänge aus dem echten Junk-Ordner holen (Pentest R124)
Beim Spam-Feature wurden moveEmailToTrash/restoreEmailFromTrash auf den echten Junk-Pfad umgestellt, vier Attachment-Funktionen im Controller aber nicht: downloadAttachment, saveAttachmentTo, saveAttachmentAsInvoice, saveAttachmentAsContractDocument bestimmten den IMAP-Ordner weiter hart als email.folder === 'SENT' ? 'Sent' : 'INBOX'. Für SPAM-Mails landete das fälschlich auf INBOX. Da IMAP-UIDs pro Ordner vergeben sind: bestenfalls 404, schlimmstenfalls (UID-Kollision INBOX vs. Junk) der FALSCHE Anhang aus INBOX – der dann z.B. als Rechnung/Vertragsdokument abgelegt würde. Kein Cross-Customer-Leak (gleicher Kunde/Postfach), aber Datenintegritätsproblem. Fix: an allen vier Stellen dieselbe Junk-Pfad-Logik wie in moveEmailToTrash (email.folder === 'SPAM' → findJunkFolderPath). findJunkFolderPath war in dem Controller noch nicht importiert. Vom Pentester (R124) gefunden – beim ursprünglichen Feature übersehen. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -97,6 +97,21 @@ isolierte Instanz (keine Multi-Tenancy im Code), Provisioning + Abrechnung
|
||||
|
||||
## ✅ Erledigt
|
||||
|
||||
- [x] **🐞 Spam-Tab: Anhänge aus Junk-Ordner (Pentest R124-Fund)**
|
||||
- Beim Spam-Feature wurden `moveEmailToTrash`/`restoreEmailFromTrash`
|
||||
auf den echten Junk-Pfad umgestellt, aber vier Attachment-Funktionen
|
||||
im Controller (`downloadAttachment`, `saveAttachmentTo`,
|
||||
`saveAttachmentAsInvoice`, `saveAttachmentAsContractDocument`)
|
||||
bestimmten den IMAP-Ordner weiter hart als
|
||||
`email.folder === 'SENT' ? 'Sent' : 'INBOX'`. Für SPAM-Mails landete
|
||||
das fälschlich auf INBOX. Da IMAP-UIDs pro Ordner vergeben sind:
|
||||
404 (Anhang nicht gefunden) oder – bei UID-Kollision – der falsche
|
||||
Anhang aus INBOX (z.B. als Rechnung/Vertragsdokument abgelegt).
|
||||
Kein Cross-Customer-Leak (bleibt im selben Postfach), aber echtes
|
||||
Datenintegritätsproblem.
|
||||
- Fix: an allen vier Stellen dieselbe Junk-Pfad-Logik wie in
|
||||
`moveEmailToTrash` + `findJunkFolderPath` importiert.
|
||||
|
||||
- [x] **📧 E-Mail-Client: Spam-Ordner als eigener Tab**
|
||||
- Neuer Tab „Spam" (zwischen Gesendet und Papierkorb) im E-Mail-Client,
|
||||
zeigt den Junk-/Spam-Ordner des gewählten Postfachs – damit
|
||||
|
||||
Reference in New Issue
Block a user