Description
The webbrowser.open() API would accept leading dashes in the URL which could be handled as command line options for certain web browsers. New behavior rejects leading dashes. Users are recommended to sanitize URLs prior to passing to webbrowser.open().
Product status
Any version before 3.13.13
3.14.0 (python) before 3.14.4
3.15.0a1 (python) before 3.15.0a8
Credits
Seth Larson
Gregory P. Smith
an7y
References
www.openwall.com/lists/oss-security/2026/03/20/1
github.com/python/cpython/pull/143931
github.com/python/cpython/issues/143930
mail.python.org/.../thread/AY5NDSS433JK56Q7Q5IS7B37QFZVVOUS/
github.com/...ommit/43fe06b96f6a6cf5cfd5bdab20b8649374956866
github.com/...ommit/82a24a4442312bdcfc4c799885e8b3e00990f02b
github.com/...ommit/9669a912a0e329c094e992204d6bdb8787024d76
github.com/...ommit/ad4d5ba32af4d80b0dfa2ba9d8203bfb219e60a5
github.com/...ommit/ceac1efc66516ac387eef2c9a0ce671895b44f03
github.com/...ommit/cbba6119391112aba9c5aebf7b94aea447922c48
github.com/...ommit/3681d47a440865aead912a054d4599087b4270dd
github.com/...ommit/591ed890270c5697b013bf637029fb3e6cd2d73e
github.com/...ommit/594b5a05dc9913880ac92eded440defbf32a28d1
github.com/...ommit/89bfb8e5ed3c7caa241028f1a4eac5f6275a46a4
github.com/...ommit/96fc5048605863c7b6fd6289643feb0e97edd96c
github.com/...ommit/cc023511238ad93ecc8796157c6f9139a2bb2932