Lithium vulnerable to Cross Site Scripting in provided Swagger-UIGHSA-f36p-42jv-8rh2
HIGHFix: wireapp/lithium@8b9b406GHSA-f36p-42jv-8rh2 is a high-severity (CVSS 8.1) remote code execution vulnerability in com.wire:lithium. A fix is available for com.wire:lithium — see the affected versions and patch details below.
Real-World Exposure
com.wire:lithium☕com.wire.bots:lithiumReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.
Description
Impact
A XSS vulnerability in the provided (outdated) Swagger-UI is exploitable in applications using lithium with Swagger-UI enabled. This allows an attacker gain Remote Code Execution (RCE) and potentially exfiltrate secrets in the context of this swagger session.
Patches
The used swagger-ui was updated by switching to the latest version of dropwizard-swagger in 8b9b406d608fe482ec0e7adf8705834bca92d7df
Workarounds
The risk of injected external content can be reduced by setting up a Content-Security-Policy.
References
Credits
We thank Mohit Kumar for reporting this vulnerability!
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| ☕Maven | com.wire:lithium | all versions | 3.4.2com.wire:lithium:3.4.2 |
| ☕Maven | com.wire.bots:lithium | all versions | No fix |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for com.wire:lithium, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update com.wire:lithium to 3.4.2 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-f36p-42jv-8rh2 is resolved across your whole dependency graph.
Workarounds
Escape or sanitise the affected output on the server side rather than relying on client-side filtering, and add a Content-Security-Policy that blocks inline script execution so injected markup cannot run even if it reaches the page.
Frequently Asked Questions
Is GHSA-f36p-42jv-8rh2 in your dependencies?
Find it across Maven, including transitive dependencies.