Skip to content

Bleach 6.4.0 — final release with security fixes#787

Merged
willkg merged 3 commits into
mainfrom
willkg-security-fixes
Jun 5, 2026
Merged

Bleach 6.4.0 — final release with security fixes#787
willkg merged 3 commits into
mainfrom
willkg-security-fixes

Conversation

@willkg

@willkg willkg commented Jun 5, 2026

Copy link
Copy Markdown
Member

Summary

This is the final release of Bleach (6.4.0). The project has reached end of life; there will be no further releases, including for security issues. This branch bundles two security fixes and the release/end-of-life changes.

Changes

Security fixes

  • XSS bypass via Unicode invisible characters in allowed-protocol checking — invisible characters could be used to smuggle a disallowed protocol (e.g. javascript:) past the protocol allowlist.
  • URI sanitization for formaction attributes (GHSA-gj48-438w-jh9v) — formaction on <button>/<input> is now treated as a URI-valued attribute, so javascript: payloads are stripped. Adds tests/test_clean.py::test_formaction_attribute and a vendored html5lib patch (03_html5lib_formaction.patch).

Release / end of life

  • Bump to 6.4.0 and mark the project as ended in CHANGES, README.rst, SECURITY.md, and setup.py.

Testing

  • tox / pytest — new regression test for formaction passes; existing suite green.

willkg added 3 commits June 5, 2026 07:53
…acters

This fixes sanitize_uri_values where it wouldn't correctly filter uris
with disallowed protocols if the scheme had a unicode invisible
character in it. Now the code strips all non-ASCII characters from the
uri before parsing and testing the scheme.

GHSA-8rfp-98v4-mmr6
This is the last release of Bleach. There will be no future releases
including for security fixes.

Thank you all for using and contributing to Bleach!
@willkg

willkg commented Jun 5, 2026

Copy link
Copy Markdown
Member Author

Self-reviewing this one last time.

@willkg willkg merged commit ae4e8a2 into main Jun 5, 2026
18 checks passed
@willkg willkg deleted the willkg-security-fixes branch June 5, 2026 12:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant