CVE-2022-34009
Medium · 5.5CVSS
5.5
EPSS
0.4%
Published
Jul 28, 2022
CISA due date
—
Cloudanix analysis
A specially crafted ticket on Windows can make security software delete a needed file, causing the Fossil service to crash and become unavailable until restarted.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Application
- Class
- XSS
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
XSS payload stored in a ticket's temporary file is removed by Windows Defender malware detection, after which Fossil fails to handle the missing file and crashes the daemon, resulting in denial of service.
Why it matters to the business
Windows-hosted Fossil instances experience repeated service outages that interrupt version control and ticket workflows, with elevated urgency due to public exploit availability more than four years after disclosure and no listed fixed versions.
How an attack unfolds
An attacker submits a crafted XSS payload through a ticket; Windows Defender quarantines or deletes the associated temporary file; Fossil's subsequent attempt to read the absent file triggers an unhandled error that terminates the daemon process.
How to fix it
Upgrade to a version that gracefully handles missing temporary ticket files; on Windows deployments, configure Windows Defender exclusions only for Fossil temporary directories after risk assessment or migrate Fossil to non-Windows platforms until a fixed release is available.
How to confirm the fix worked
Confirm that Fossil no longer terminates when a ticket temporary file is absent; test by manually deleting the file during active ticket operations and verifying daemon stability; monitor process exit codes and logs for file-not-found errors related to ticket storage.
Typical attack path
- Identify a publicly reachable Fossil instance on Windows
- Submit ticket content containing an XSS payload that triggers Windows Defender
- Observe removal of the temporary ticket file
- Trigger Fossil daemon operations that reference the missing file to induce crash
How to detect it
Search Fossil and Windows event logs for repeated daemon crashes immediately following ticket submissions; look for file-access errors referencing temporary ticket paths and correlate with Windows Defender quarantine events.
What your security team should do
- Prioritize migration of Fossil instances off Windows or apply custom error-handling patches
- Implement file-integrity monitoring on ticket temporary directories
- Review and harden Windows Defender policies around Fossil data paths
- Establish monitoring for unexpected Fossil daemon restarts
The record
Fossil 2.18 on Windows allows attackers to cause a denial of service (daemon crash) via an XSS payload in a ticket. This occurs because the ticket data is stored in a temporary file, and the product does not properly handle the absence of this file after Windows Defender has flagged it as malware.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Ubuntu:20.04:LTS | fossil | 0 | No fix |
| Ubuntu:22.04:LTS | fossil | 0 | No fix |
| Ubuntu:24.04:LTS | fossil | 0 | No fix |
| Ubuntu:24.10 | fossil | 0 | No fix |
| Ubuntu:25.04 | fossil | 0 | No fix |
| Ubuntu:25.10 | fossil | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | fossil | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | fossil | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | fossil | 0 | No fix |
Related vulnerabilities
- CVE-2026-96379 Improper Neutralization of Input During Web Page Generation ("Cross-site Scripting")… CWE-79
- CVE-2026-96382 Improper Neutralization of Input During Web Page Generation ("Cross-site Scripting")… CWE-79
- CVE-2026-96368 Improper Neutralization of Input During Web Page Generation ("Cross-site Scripting")… CWE-79
- CVE-2026-96361 Improper Neutralization of Input During Web Page Generation ("Cross-site Scripting")… CWE-79
- CVE-2026-96362 Improper Neutralization of Input During Web Page Generation ("Cross-site Scripting")… CWE-79
- CVE-2026-96360 Improper Neutralization of Input During Web Page Generation ("Cross-site Scripting")… CWE-79
- CVE-2026-96357 Improper Neutralization of Input During Web Page Generation ("Cross-site Scripting")… CWE-79
- CVE-2026-96358 Improper Neutralization of Input During Web Page Generation ("Cross-site Scripting")… CWE-79