XSS and SSRF via the List-Unsubscribe SMTP Header in Horde W... #1709
+116
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🤖 Automated Content Update
This PR was automatically generated by the HackTricks News Bot based on a technical blog post.
📝 Source Information
🎯 Content Summary
This post analyzes how the standardized
List-UnsubscribeSMTP header (RFC 2369) can introduce exploitable attack surface in modern webmail and mail clients, specifically leading to Cross-Site Scripting (XSS) and Server-Side Request Forgery (SSRF). It illustrates the problem using a real stored XSS in Horde Webmail (CVE-2025-68673) and an SSRF primitive in the Nextcloud Mail app.Foundations: How List-Unsubscribe Works
The
List-Unsubscribeheader is defi...🔧 Technical Details
1. Stored XSS via JavaScript URIs in List-Unsubscribe Rendering
Whenever a mail client converts the
List-Unsubscribeheader into a clickable HTML link, you can test for stored XSS by injecting ajavascript:URI instead of a normalhttp(s)://ormailto:link. The generic attack pattern is:If the application generates HTML like:
then opening the link (especially in a new tab/window due to
target="_blank") causes the browser to execute the JavaScript in the webmail origin, producing stored XSS. To generalize this technique:List-Unsubscribeand writes it int...🤖 Agent Actions
Summary:
target="_blank"), and includes expandable Python scripts for both the basic SMTP payload and a DKIM-signed variant used against Nextcloud Mail.allow_local_remote_serversflag, DKIM requirements for HTTPS unsubscribe requests, and how to leverage OAST infrastructure plus SSRF methodology techniques once the primitive is confirmed.Tests: Not run (not requested).
This PR was automatically created by the HackTricks Feed Bot. Please review the changes carefully before merging.
📚 Repository Maintenance
All .md files have been checked for proper formatting (headers, includes, etc.).