{"id":"GHSA-xhmx-w2j4-rw3q","revision":null,"records":[{"revision":"d3261960bc4043ca9d40cded9fef7f8a","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-76803","aliases":[],"title":"Nuclei: Local File Read via MySQL Client Sandbox Bypass","description":"Nuclei is a vulnerability scanner built on a simple YAML-based DSL. From 3.0.0 until 3.10.0, the nuclei/mysql JavaScript library does not enforce the local-file sandbox when a JavaScript template supplies the allowAllFiles MySQL DSN option. An untrusted javascript: template scanning an attacker-controlled MySQL-compatible endpoint can cause the server to issue LOAD DATA LOCAL INFILE requests for arbitrary paths, after which the scanner's MySQL client reads the files and returns their contents to the server even though -allow-local-file-access is disabled. JavaScript templates can run unsigned and without the -code flag on affected versions, and the bypass affects CLI and SDK deployments that accept untrusted templates. This issue is fixed in version 3.10.0.","state":0,"publishedAt":"2026-09-22T16:27:59.627+00:00","modifiedAt":"2026-09-25T23:44:38.902+00:00","affected":[{"ecosystem":"Vendor product","name":"nuclei","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"projectdiscovery\",\n                    \"product\": \"nuclei\",\n                    \"versions\": [\n                        {\n                            \"version\": \">= 3.0.0, < 3.10.0\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N","score":5.3,"severity":"MEDIUM"}],"references":["https://github.com/projectdiscovery/nuclei/security/advisories/GHSA-xhmx-w2j4-rw3q","https://github.com/projectdiscovery/nuclei/pull/7473","https://github.com/projectdiscovery/nuclei/commit/9611926a9a1ca99e8ed554d1b26fbeff60e06368","https://github.com/projectdiscovery/nuclei/releases/tag/v3.10.0"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-76803","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-76803","identifiers":["CVE-2026-76803"]},"retained":false,"historicalAffected":[]},{"revision":"d0f39ece23af4377b78b9d35e13e8d5b","observedAt":"2026-11-11T16:07:47.331+00:00","statement":{"source":"euvd","id":"EUVD-2026-84553","aliases":["CVE-2026-76803","GHSA-xhmx-w2j4-rw3q"],"title":"Nuclei is a vulnerability scanner built on a simple YAML-based DSL. From 3.0.0 until 3.10.0, the nuclei/mysql JavaScript library does not enforce the local-file sandbox when a JavaScript template supplies the allowAllFiles MySQL DSN option.…","description":"Nuclei is a vulnerability scanner built on a simple YAML-based DSL. From 3.0.0 until 3.10.0, the nuclei/mysql JavaScript library does not enforce the local-file sandbox when a JavaScript template supplies the allowAllFiles MySQL DSN option. An untrusted javascript: template scanning an attacker-controlled MySQL-compatible endpoint can cause the server to issue LOAD DATA LOCAL INFILE requests for arbitrary paths, after which the scanner's MySQL client reads the files and returns their contents to the server even though -allow-local-file-access is disabled. JavaScript templates can run unsigned and without the -code flag on affected versions, and the bypass affects CLI and SDK deployments that accept untrusted templates. This issue is fixed in version 3.10.0.","state":0,"publishedAt":null,"modifiedAt":null,"affected":[],"metrics":[{"system":"EUVD CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N","score":5.3,"severity":null}],"references":["https://github.com/projectdiscovery/nuclei/security/advisories/GHSA-xhmx-w2j4-rw3q","https://github.com/projectdiscovery/nuclei/pull/7473","https://github.com/projectdiscovery/nuclei/commit/9611926a9a1ca99e8ed554d1b26fbeff60e06368","https://github.com/projectdiscovery/nuclei/releases/tag/v3.10.0"],"sourceUrl":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-84553","license":"ENISA EUVD · source terms and attribution apply","enrichment":{"sourceStatus":null,"weaknesses":[],"productCriteria":[],"sourceDates":{"datePublished":"Sep 22, 2026, 4:27:59 PM","dateUpdated":"Sep 25, 2026, 11:44:38 PM"},"relatedAdvisories":[],"note":"EUVD source date text has no stated timezone and is retained without inventing a UTC instant. Related bulletin membership is not an alias, common cause or applicability claim. A missing vector with a zero score is treated as unrated. Complete vendor/product and underlying source evidence remains in the original JSON."},"key":"euvd:EUVD-2026-84553","identifiers":["EUVD-2026-84553","CVE-2026-76803","GHSA-xhmx-w2j4-rw3q"]},"retained":false,"historicalAffected":[]},{"revision":"fa3cac945a274d08a84feda413e11c7d","observedAt":"2026-10-25T16:19:04.694+00:00","statement":{"source":"nvd","id":"CVE-2026-76803","aliases":[],"title":"Nuclei is a vulnerability scanner built on a simple YAML-based DSL. From 3.0.0 until 3.10.0, the nuclei/mysql JavaScript library does not enforce the local-file sandbox when a JavaScript template supplies the allowAllFiles MySQL DSN option.…","description":"Nuclei is a vulnerability scanner built on a simple YAML-based DSL. From 3.0.0 until 3.10.0, the nuclei/mysql JavaScript library does not enforce the local-file sandbox when a JavaScript template supplies the allowAllFiles MySQL DSN option. An untrusted javascript: template scanning an attacker-controlled MySQL-compatible endpoint can cause the server to issue LOAD DATA LOCAL INFILE requests for arbitrary paths, after which the scanner's MySQL client reads the files and returns their contents to the server even though -allow-local-file-access is disabled. JavaScript templates can run unsigned and without the -code flag on affected versions, and the bypass affects CLI and SDK deployments that accept untrusted templates. This issue is fixed in version 3.10.0.","state":0,"publishedAt":"2026-09-22T17:17:24.797+00:00","modifiedAt":"2026-09-26T00:16:35.217+00:00","affected":[],"metrics":[{"system":"CVSS 3.1 · security-advisories@github.com · Secondary","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N","score":5.3,"severity":"MEDIUM"}],"references":["https://github.com/projectdiscovery/nuclei/commit/9611926a9a1ca99e8ed554d1b26fbeff60e06368","https://github.com/projectdiscovery/nuclei/pull/7473","https://github.com/projectdiscovery/nuclei/releases/tag/v3.10.0","https://github.com/projectdiscovery/nuclei/security/advisories/GHSA-xhmx-w2j4-rw3q"],"sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-76803","license":"NIST NVD usage terms; underlying source attribution retained","enrichment":{"sourceStatus":"Awaiting Analysis","weaknesses":["CWE-284"],"productCriteria":[],"sourceDates":{"published":"2026-09-22T17:17:24.797","lastModified":"2026-09-26T00:16:35.217"},"relatedAdvisories":[],"note":"NVD analysis and CPE criteria are source context, not proof that a package or your environment is affected. Complete affected data, logical configurations and SSVC are retained in the original JSON."},"key":"nvd:CVE-2026-76803","identifiers":["CVE-2026-76803"]},"retained":false,"historicalAffected":[]},{"revision":"44d89d03cd8d47b0bccb93de88a4e433","observedAt":"2026-10-24T13:19:41.952+00:00","statement":{"source":"osv","id":"GHSA-xhmx-w2j4-rw3q","aliases":["CVE-2026-76803","GO-2026-6577"],"title":"Nuclei: Local File Read via MySQL Client Sandbox Bypass","description":"A vulnerability in Nuclei's JavaScript MySQL client library allows arbitrary local file reads that bypass the `-allow-local-file-access` (`-lfa`) sandbox restriction.\n\n**Affected Component**\n\nThe issue is in the `nuclei/mysql` JavaScript library used by `javascript:` protocol templates. The MySQL client connection logic did not enforce the local file access sandbox when handling the `allowAllFiles` DSN parameter used by `LOAD DATA LOCAL INFILE`.\n\n**Description**\n\nWithout `-lfa`, Nuclei confines local file access to the templates directory. However, a `javascript:` template could connect to a MySQL server with `allowAllFiles=true` in the connection DSN. With this option enabled, a malicious MySQL server can issue `LOAD DATA LOCAL INFILE` requests for arbitrary paths on the scanner host. The MySQL client reads the full file contents and sends them to the server, bypassing the same sandbox that blocks direct filesystem reads through other APIs.\n\n`javascript:` templates execute without the `-code` flag and unsigned `javascript:` templates run by default, making this reachable from untrusted third-party templates when scanning attacker-controlled MySQL endpoints.\n\n> [!NOTE]\nThe `-allow-local-file-access` (`-lfa`) option is off by default. This issue allows bypassing that restriction, not merely expanding an already-enabled capability.\n\n**Affected Users**\n\n- **CLI users** running untrusted or third-party `javascript:` templates against MySQL-compatible targets.\n- **SDK users** who integrate Nuclei into platforms where end users can supply JavaScript templates and rely on the default `-lfa` restriction to limit filesystem access.\n\n**Patches**\n\n- The vulnerability is fixed in Nuclei v3.10.0. Upgrading is strongly recommended.\n- Fix reference: https://github.com/projectdiscovery/nuclei/pull/7473\n\n**Mitigation**\n\nUpgrade to Nuclei v3.10.0, where the `allowAllFiles` DSN option is stripped unless `-lfa` is explicitly enabled.\n\nIn the meantime, avoid running JavaScript templates from unverified sources, especially against untrusted database endpoints.\n\n**Workarounds**\n\nIf upgrading is not an option, avoid running untrusted JavaScript templates. There is no flag or configuration that mitigates this bypass on affected versions.\n\n**Acknowledgments**\n\nThanks to @daffainfo for reporting this issue.","state":0,"publishedAt":"2026-09-22T20:37:19+00:00","modifiedAt":"2026-10-01T20:55:40.998529+00:00","affected":[{"ecosystem":"Go","name":"github.com/projectdiscovery/nuclei/v3","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"3.0.0"},{"kind":"fixed","version":"3.10.0"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V3","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"MODERATE"}],"references":["https://github.com/projectdiscovery/nuclei/security/advisories/GHSA-xhmx-w2j4-rw3q","https://nvd.nist.gov/vuln/detail/CVE-2026-76803","https://github.com/projectdiscovery/nuclei/pull/7473","https://github.com/projectdiscovery/nuclei/commit/9611926a9a1ca99e8ed554d1b26fbeff60e06368","https://github.com/projectdiscovery/nuclei","https://github.com/projectdiscovery/nuclei/releases/tag/v3.10.0"],"sourceUrl":"https://github.com/advisories/GHSA-xhmx-w2j4-rw3q","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-xhmx-w2j4-rw3q","identifiers":["GHSA-xhmx-w2j4-rw3q","CVE-2026-76803","GO-2026-6577"]},"retained":false,"historicalAffected":[]},{"revision":"44a84bb67f4a4fb4a6858c817e0092f4","observedAt":"2026-10-24T13:19:41.952+00:00","statement":{"source":"osv","id":"GO-2026-6577","aliases":["CVE-2026-76803","GHSA-xhmx-w2j4-rw3q"],"title":"Nuclei: Local File Read via MySQL Client Sandbox Bypass in github.com/projectdiscovery/nuclei","description":"Nuclei: Local File Read via MySQL Client Sandbox Bypass in github.com/projectdiscovery/nuclei","state":0,"publishedAt":"2026-10-01T20:23:38+00:00","modifiedAt":"2026-10-01T20:45:16.1872079+00:00","affected":[{"ecosystem":"Go","name":"github.com/projectdiscovery/nuclei","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0"}]}],"versions":[],"rawVersionEvidence":null},{"ecosystem":"Go","name":"github.com/projectdiscovery/nuclei/v2","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0"}]}],"versions":[],"rawVersionEvidence":null},{"ecosystem":"Go","name":"github.com/projectdiscovery/nuclei/v3","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"3.0.0"},{"kind":"fixed","version":"3.10.0"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[],"references":["https://github.com/projectdiscovery/nuclei/security/advisories/GHSA-xhmx-w2j4-rw3q","https://nvd.nist.gov/vuln/detail/CVE-2026-76803","https://github.com/projectdiscovery/nuclei/commit/9611926a9a1ca99e8ed554d1b26fbeff60e06368","https://github.com/projectdiscovery/nuclei/pull/7473","https://github.com/projectdiscovery/nuclei/releases/tag/v3.10.0"],"sourceUrl":"https://osv.dev/vulnerability/GO-2026-6577","license":"OSV · upstream source license applies","key":"osv:GO-2026-6577","identifiers":["GO-2026-6577","CVE-2026-76803","GHSA-xhmx-w2j4-rw3q"]},"retained":false,"historicalAffected":[]}],"coverage":[{"source":"cisa-kev:global","scope":"Complete CISA KEV catalog; all vendors. Missing entries do not establish absence of exploitation.","generation":"2026-11-11T20:58:42.4460032+00:00","complete":true,"records":1779,"lastAttemptAt":"2026-11-11T20:58:42.4460032+00:00","lastSuccessAt":"2026-11-11T20:58:42.6009016+00:00","error":null,"lastVerifiedAt":"2026-11-11T20:58:42.6009024+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"cve-program","scope":"Official CVE Program baseline and cumulative hourly delta; all vendors, published and rejected records","generation":"cve-de3b77103708811b6494d2ff7c979037d73ae579742cd1649a5c765137ae5083-bc2564cf749a574ebe6216cd53b2772c98ccf01e107d9e465c7cb9637c59db40","complete":true,"records":424281,"lastAttemptAt":"2026-11-11T20:56:40.1262638+00:00","lastSuccessAt":"2026-11-11T19:56:47.8167322+00:00","error":null,"lastVerifiedAt":"2026-11-11T20:56:40.1262638+00:00","snapshotPublishedAt":"2026-11-11T19:18:45+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"euvd","scope":"Rolling EUVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global EUVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-cbeeeca22e4a4c188e95cc4f8cfc6560","complete":false,"records":13759,"lastAttemptAt":"2026-11-11T21:08:58.0161049+00:00","lastSuccessAt":"2026-11-11T21:08:58.011+00:00","error":"249 identifier lookups failed; latest failures include AccessDenied (HTTP 403). Other identifiers were checked independently.","lastVerifiedAt":"2026-11-11T21:08:58.011+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13368,"expectedIdentifiers":13813,"failedIdentifiers":249},{"source":"first-epss:nuget","scope":"FIRST EPSS for explicit CVE aliases in the collected public NuGet archive. Not a global EPSS backfill.","generation":"2026-11-11T20:58:42.4460032+00:00","complete":true,"records":1097,"lastAttemptAt":"2026-11-11T20:58:42.4460032+00:00","lastSuccessAt":"2026-11-11T20:58:42.6018487+00:00","error":null,"lastVerifiedAt":"2026-11-11T20:58:42.6018491+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"nvd","scope":"Rolling NVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global NVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-f58072f00ed84b8dbc554f4a4e66e21a","complete":true,"records":13753,"lastAttemptAt":"2026-11-11T20:59:01.4643428+00:00","lastSuccessAt":"2026-11-11T20:59:01.459+00:00","error":null,"lastVerifiedAt":"2026-11-11T20:59:01.459+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13813,"expectedIdentifiers":13813,"failedIdentifiers":0},{"source":"osv:Go","scope":"Complete OSV Go ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"go-3562b6c78fd1bd0f0b55daf66a0926ae24f65e462df7f6d928caad458fc696bf","complete":true,"records":9947,"lastAttemptAt":"2026-11-11T20:58:42.3041045+00:00","lastSuccessAt":"2026-11-11T04:27:43.6877707+00:00","error":null,"lastVerifiedAt":"2026-11-11T20:58:42.3041045+00:00","snapshotPublishedAt":"2026-11-11T03:32:46+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:NuGet","scope":"Complete OSV NuGet ecosystem archive, including GitHub Advisory Database records; NuGet version matching only","generation":"nuget-456002455e0ab94bb92c95476d4e6d175c104cd594749982afd96c893728ecbc","complete":true,"records":2010,"lastAttemptAt":"2026-11-11T20:56:40.2809572+00:00","lastSuccessAt":"2026-11-11T02:36:58.1276999+00:00","error":null,"lastVerifiedAt":"2026-11-11T20:56:40.2809572+00:00","snapshotPublishedAt":"2026-11-11T01:17:51+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:crates.io","scope":"Complete OSV crates.io ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"crates.io-baa8362b4daf9e5f39d5563775a55935e7b442c0735d33274a921579ce4a0d66","complete":true,"records":3093,"lastAttemptAt":"2026-11-11T20:58:42.411286+00:00","lastSuccessAt":"2026-11-11T13:00:02.5446881+00:00","error":null,"lastVerifiedAt":"2026-11-11T20:58:42.411286+00:00","snapshotPublishedAt":"2026-11-11T12:47:47+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:npm","scope":"Complete OSV npm ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"npm-757d3692f9a7b34792dad960197f3cc953a54db59b7d0ffe3835a0ed9926f76b","complete":true,"records":231690,"lastAttemptAt":"2026-11-11T20:58:42.1683586+00:00","lastSuccessAt":"2026-11-11T20:58:40.6131056+00:00","error":null,"lastVerifiedAt":"2026-11-11T20:58:42.1683586+00:00","snapshotPublishedAt":"2026-11-11T20:03:03+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null}]}