Improper Access Control in Onionshare
Between September 26, 2021 and October 8, 2021, Radically Open Security conducted a penetration test of OnionShare 2.4, funded by the Open Technology Fund's Red Team lab. This is an issue from that penetration test.
- Vulnerability ID: OTF-009
- Vulnerability type: Improper Access Control
- Threat level: Low
Description:
Authenticated users (or unauthenticated in public mode) can send messages without being visible in the list of chat participants.
Technical description:
Prerequisites:
- Existing chatroom
- Access to the chatroom (Public or known Private Key)
- Either a modified frontend client or manual requests from burp/curl
If a user opens the chatroom without emitting the join message he will not be present in session.users[x] list. Therefore there is no listing in the frontend and no chat participant knows another party joined the chat. It is still possible to send messages in the chatroom.
If a user decides to abuse OTF-003 (page 22) he can impersonate messages from existing users; others would not be able to distinguish original and faked messages. This is also a prerequisite for OTF-004 (page 19).
Impact:
An adversary with access to the chat environment can send messages to the chat without being visible in the list of chat participants.
Recommendation:
- Allow chat access only after emission of the join event.
- Implement proper session handling.
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Python (PyPI) | onionshare-cli | >= 2.3, < 2.5 | 2.5 |
References
- https://github.com/onionshare/onionshare/releases/tag/v2.5
- https://github.com/onionshare/onionshare/security/advisories/GHSA-99p8-9p2c-49j4
- https://nvd.nist.gov/vuln/detail/CVE-2022-21695
- https://github.com/onionshare/onionshare
- https://github.com/pypa/advisory-database/tree/main/vulns/onionshare-cli/PYSEC-2022-46.yaml
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N- Weakness (CWE)
CWE-287- Platform
- Python (PyPI)
- Package
onionshare-cli- Disclosed
- 18.01.2022
- Updated
- 11.10.2026 11:20
Sources and licenses
OSV / GitHub Advisory Database - PYSEC-2022-46 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - GHSA-99p8-9p2c-49j4 - CC BY 4.0
Vulnerability history: onionshare-cli
All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 13
- First → latest
- 11.2021 07.2026
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- Critical 1
- High 2
- Medium 10
Disclosures per year
- 2021: 2
- 2022: 9
- 2023: 0
- 2024: 0
- 2025: 0
- 2026: 2
-
Improper Access Control in Onionshare this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.