{"id":"CVE-2021-41146","aliases":["GHSA-vw27-fwjf-5qxm","PYSEC-2021-382"],"title":"Arbitrary command execution on Windows via qutebrowserurl: URL handler","summary":"Arbitrary command execution on Windows via qutebrowserurl: URL handler","severity":"high","cvss":8.8,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","vendor":"qutebrowser","product":"qutebrowser","ecosystem":"pip","affected":["qutebrowser >= 1.7.0, < 2.4.0"],"patched":["qutebrowser 2.4.0"],"published":"2021-10-22","updated":"2026-07-08","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/GHSA-vw27-fwjf-5qxm","references":[{"url":"https://github.com/qutebrowser/qutebrowser/security/advisories/GHSA-vw27-fwjf-5qxm"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-41146"},{"url":"https://github.com/qutebrowser/qutebrowser/commit/8f46ba3f6dc7b18375f7aa63c48a1fe461190430"},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/qutebrowser/PYSEC-2021-382.yaml"},{"url":"https://github.com/qutebrowser/qutebrowser"}],"tags":["osv","pip"],"epss":0.01496,"epssPercentile":0.73056,"ingestedAt":"2026-07-08T18:25:53.490Z","slug":"CVE-2021-41146","body":"## Overview\n\n### Impact\nStarting with qutebrowser v1.7.0, the Windows installer for qutebrowser registers it as a handler for certain URL schemes. With some applications such as Outlook Desktop, opening a specially crafted URL can lead to argument injection, allowing execution of qutebrowser commands, which in turn allows arbitrary code execution via commands such as `:spawn` or `:debug-pyeval`.\n\nOnly Windows installs where qutebrowser is registered as URL handler are affected. It does *not* have to be set as default browser for the exploit to work.\n\n### Patches\nThe issue has been fixed in [qutebrowser v2.4.0](https://github.com/qutebrowser/qutebrowser/releases/tag/v2.4.0) in commit 8f46ba3f6dc7b18375f7aa63c48a1fe461190430.\n\nThe fix also adds additional hardening for potential similar issues on Linux (by adding the new `--untrusted-args` flag to the `.desktop` file), though no such vulnerabilities are known.\n\nBackported patches for older versions are available, but no further releases are planned:\n\n- v1.7.x: d1ceaab\n- v1.8.x: ca7155d\n- v1.9.x: 157d871\n- v1.10.x: 94a6125\n- v1.11.x: 10acfbb\n- v1.12.x: 363a18f\n- v1.13.x: 410f262\n- v1.14.x: e4f4d93\n- v2.0.x: 15a1654\n- v2.1.x: 509ddf2\n- v2.2.x: 03dcba5\n- v2.3.x: 00a694c\n\n(commits are referring to qutebrowser/qutebrowser on GitHub)\n\n### Workarounds\nRemove qutebrowser from the default browser settings entirely, so that it does not handle any kind of URLs. Make sure to remove *all* handlers, including an (accidental) `qutebrowserURL` handler, e.g. using [NirSoft URLProtocolView](https://www.nirsoft.net/utils/url_protocol_view.html).\n\n### Timeline\n2021-10-15: Issue reported via security@qutebrowser.org by Ping Fan (Zetta) Ke of [Valkyrie-X Security Research Group (VXRL)](https://www.vxrl.hk/)\n2021-10-15: Issue confirmed by @The-Compiler (lead developer), author of installer (@bitraid) contacted for help/review\n2021-10-15: CVE assigned by GitHub\n2021-10-15 to 2021-10-17: Fix developed\n2021-10-17: Additional core developer (@toofar) contacted for help/review\n2021-10-21: v2.4.0 released containing the fix\n2021-10-21: Advisory and fix published\n\n### References\nSee the [commit message](https://github.com/qutebrowser/qutebrowser/commit/8f46ba3f6dc7b18375f7aa63c48a1fe461190430) for additional information and references to various similar issues in other projects.\n\n### Acknowledgements\nThanks to Ping Fan (Zetta) Ke of [Valkyrie-X Security Research Group](https://www.vxrl.hk/) (VXRL/@vxresearch) for finding and responsibly disclosing this issue.\n\n### Contact\nIf you have any questions or comments about this advisory, please email [security@qutebrowser.org](mailto:security@qutebrowser.org).\n\n## Affected packages\n\n- `qutebrowser >= 1.7.0, < 2.4.0`\n\n## Remediation\n\nUpgrade to a patched release:\n\n- `qutebrowser 2.4.0`","depth":"twilight","depthScore":49,"depthScoreParts":{"impact":48.4,"likelihood":0.3,"exploitation":0,"ransomware":0},"changes":[]}