CSS The Bomb Inside Your Inbox - #2640
Open
carlospolop wants to merge 2 commits into
Open
Conversation
Collaborator
Author
🔗 Additional ContextOriginal Blog Post: https://portswigger.net/research/css-the-bomb-inside-your-inbox Content Categories: Based on the analysis, this content was categorized under "Pentesting Web > XS-Search/XS-Leaks > CSS Injection, with cross-references from Clickjacking, Content Security Policy Bypass, and AI Security > AI Agent/Indirect Prompt Injection". Repository Maintenance:
Review Notes:
Bot Version: HackTricks News Bot v1.0 |
Master claimed [22] for the d0nutptr gist while this branch used [22]/[23] for the CSS Bomb research. Kept master's [22] and moved this PR's two sources to [23]/[24], remapping only the citations on lines this branch authored so master's own [22] citation still resolves correctly. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Overview
Published on August 6, 2026, Gareth Heyes' research demonstrates that sanitized CSS and HTML in webmail cannot safely be treated as merely visual content. By exploiting differences between sanitizers, browser parsers, CSSOM serialization, image proxies, CSP, and post-sanitization JavaScript, attacker-controlled email content can cross trust boundaries and affect the surrounding application. Tested targets include Outlook, Fastmail, Gmail, Yahoo Mail, AOL Mail, Proton Mail, Fi...
🔧 Technical Details
Label-based UI activation: When sanitized untrusted HTML retains
<label for="id">, the label may activate a trusted control outside the untrusted content boundary. Enumerate labelable controls withdocument.querySelectorAll('input[id],button[id],select[id],textarea[id]')and test whether their IDs can be referenced from attacker-controlled markup. This can invoke existing application actions without JavaScript.Human/AI rendering disparity: Place benign human-facing content in CSS-generated
:beforeor:aftertext that an AI agent does not interpret equivalently, while storing malicious instructions in nearly transparent ordinary HTML that the AI can read. A trigger phrase can cause the agent to extract page data and encode it into navigations. Explicitly listing destinations may also affect an agent's confirmation checks.Clipboard sanitization race: Put an inline...
🤖 Agent Actions
Updated
src/pentesting-web/xs-search/css-injection/README.md.Added a new cited section covering:
contenteditablerace + compact 12-hex token exfilAlso appended references:
Validation:
mdbook buildcould not be run becausemdbookis not installed in this environmentThis PR was automatically created by the HackTricks Feed Bot. Please review the changes carefully before merging.