CVE-2022-21694

CVE-2022-21694 is a medium-severity incorrect permission assignment for critical resource vulnerability in onionshare-cli (pip), affecting versions >= 2.2, < 2.5. It is fixed in 2.5.

Does this CVE actually affect you?

Kodem shows which CVEs are reachable and running in your applications, so you fix what's exploitable, not just what's listed.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Runtime intelligence, not another scanner.

Summary

Incorrect Permission Assignment for Critical Resource 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-006
  • Vulnerability type: Broken Website Hardening Control
  • Threat level: Low

Description:

The CSP can be turned on or off but not configured for the specific needs of the website.

Technical description:

The website mode of the application allows to use a hardened CSP, which will block any scripts and external resources. It is not possible to configure this CSP for individual pages and therefore the security enhancement cannot be used for websites using javascript or external resources like fonts or images.

If CSP were configurable, the website creator could harden it accordingly to the needs of the application.

As this issue correlates with the Github issue for exposing the flask application directly (https://github.com/onionshare/ onionshare/issues/1389), it can be assumed that this can be solved by either changing to a well-known webserver, which supports this kind of configuration, or enhancing the status quo by making the CSP a configurable part of each website.

We believe that bundling the nginx or apache webserver would add complexity and dependencies to the application that could result in a larger attack surface - as these packages receive regular security updates. On the other hand it is not recommended to directly expose the flask webserver, due to lack of hardening. This is a trade-off which needs to be evaluated by the Onionshare developers, as multiple features are involved. Ideally the application user could choose between the built-in flask webserver or a system webserver of choice.

Impact

As this is a general weakness and not a direct vulnerability in the Onionshare application, the direct impact of this issue is rather low.

A file, directory, or other resource is assigned permissions that allow broader access than intended. Typical impact: unauthorized read, modification, or execution of the resource.

CVE-2022-21694 has a CVSS score of 3.7 (Medium). The vector is network-reachable, no privileges required, and no user interaction. A CVSS score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether this affects your application depends on whether the vulnerable code is present and reachable in your environment. A fixed version is available (2.5); upgrading removes the vulnerable code path.

Affected versions

onionshare-cli (>= 2.2, < 2.5)

Security releases

onionshare-cli → 2.5 (pip)

Kodem intelligence

Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.

Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.

Already deployed Kodem?

See it in your environmentNew to Kodem? Get a demo →

Remediation advice

  • Consider offering a configurable webserver choice
  • Consider configurable CSP

Frequently Asked Questions

  1. What is CVE-2022-21694? CVE-2022-21694 is a medium-severity incorrect permission assignment for critical resource vulnerability in onionshare-cli (pip), affecting versions >= 2.2, < 2.5. It is fixed in 2.5. A file, directory, or other resource is assigned permissions that allow broader access than intended.
  2. How severe is CVE-2022-21694? CVE-2022-21694 has a CVSS score of 3.7 (Medium). This score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether it represents real risk in your environment depends on whether the vulnerable code is present and reachable.
  3. Which versions of onionshare-cli are affected by CVE-2022-21694? onionshare-cli (pip) versions >= 2.2, < 2.5 is affected.
  4. Is there a fix for CVE-2022-21694? Yes. CVE-2022-21694 is fixed in 2.5. Upgrade to this version or later.
  5. Is CVE-2022-21694 exploitable, and should I be worried? Whether CVE-2022-21694 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
  6. What actually determines whether CVE-2022-21694 is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
  7. How do I fix CVE-2022-21694? Upgrade onionshare-cli to 2.5 or later.

Other vulnerabilities in onionshare-cli

Stop the waste.
Protect your environment with Kodem.