{"schemaVersion":3,"id":"CVE-2026-53666","aliases":["CGA-4242-p36w-q6h2","CGA-ch6c-9vcc-g3v6","CGA-j7ph-jc27-q76r","CGA-m5ff-gg6v-h937","CGA-prp6-f35f-9747","CGA-qvf5-pg8h-jf43","CGA-w4hq-9hfj-24fx","CGA-w55v-gf92-cxpr","CGA-x6mv-gvfp-v898","GHSA-337j-9hxr-rhxg","CGA-2g9m-pmmx-h6c8","CGA-2jj5-g93m-fhv3","CGA-63fw-c6xh-f2rw","CGA-6x23-359v-6p3p","CGA-9396-8h8p-h9wr","CGA-98pr-pj6x-5p99","CGA-99x8-799m-7xph","CGA-jx8v-xvr3-h65x","CGA-m6c2-6wqj-w6q6","CGA-qmg4-fhr6-42vq","CGA-vrpp-2h9m-99wg","CGA-w9j8-6mr8-pmgr"],"status":"published","duplicateOf":null,"title":null,"description":"React Router is a router for React. In versions 6.4.0 through 7.17.0, if application code was written in a way that allows attacker-supplied input to overwrite certain aspects of errors caught by the SSR process, then it was possible for an attacker to trigger unexpected constructor execution on the client, which would in turn trigger an outbound network request. This is only possible with very specific (and unlikely) application-layer code. Note that this does not impact an application if it is using Declarative Mode. It only impacts Framework Mode and Data Mode applications that perform manual SSR/hydration. This issue has been fixed in version 7.18.0.","dates":{"published":"2026-07-27T21:14:49.547Z","modified":"2026-07-28T15:19:58.603Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":6.1,"severity":"medium","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":6.1,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Wolfi","score":6.1,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","exploitability":7.2,"impact":4.5,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Npm","score":6.1,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","exploitability":7.2,"impact":4.5,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Chainguard","score":6.1,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","exploitability":7.2,"impact":4.5,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":6.1,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.0042,"percentile":0.35009,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0.11499999999999995,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.00305},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00305,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00305,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00305,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00305,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00305,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00305,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00305,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00305,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00305,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00305,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.0042,"percentile":0.35009}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.00305,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00305,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00305,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00305,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.0042,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.0042,"percentile":0.35009}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-470","name":"Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')","description":"The product uses external input with reflection to select which classes or code to use, but it does not sufficiently prevent the input from selecting improper classes or code.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/470.html"}],"affected":[{"vendor":"chainguard","product":"airflow-2","name":"airflow-2","label":"airflow-2","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/airflow-2","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"chainguard","product":"airflow-core-2","name":"airflow-core-2","label":"airflow-core-2","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/airflow-core-2","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"chainguard","product":"keycloak-26.5","name":"keycloak-26.5","label":"keycloak-26.5","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/keycloak-26.5","purlType":"apk","versions":[{"text":"< 26.5.7-r3","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 26.5.7-r3","eol":null,"hubHref":null},{"vendor":"chainguard","product":"keycloak-26.5-iamguarded-compat","name":"keycloak-26.5-iamguarded-compat","label":"keycloak-26.5-iamguarded-compat","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/keycloak-26.5-iamguarded-compat","purlType":"apk","versions":[{"text":"< 26.5.7-r3","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 26.5.7-r3","eol":null,"hubHref":null},{"vendor":"chainguard","product":"keycloak-26.7","name":"keycloak-26.7","label":"keycloak-26.7","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/keycloak-26.7","purlType":"apk","versions":[{"text":"< 26.7.2-r1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 26.7.2-r1","eol":null,"hubHref":null},{"vendor":"chainguard","product":"keycloak-26.7-iamguarded-compat","name":"keycloak-26.7-iamguarded-compat","label":"keycloak-26.7-iamguarded-compat","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/keycloak-26.7-iamguarded-compat","purlType":"apk","versions":[{"text":"< 26.7.2-r1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 26.7.2-r1","eol":null,"hubHref":null},{"vendor":"chainguard","product":"librechat","name":"librechat","label":"librechat","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/librechat","purlType":"apk","versions":[{"text":"< 0.8.7-r7","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 0.8.7-r7","eol":null,"hubHref":null},{"vendor":"chainguard","product":"vitess-24","name":"vitess-24","label":"vitess-24","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/vitess-24","purlType":"apk","versions":[{"text":"< 24.0.2-r7","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 24.0.2-r7","eol":null,"hubHref":null},{"vendor":"chainguard","product":"vitess-24-compat","name":"vitess-24-compat","label":"vitess-24-compat","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/vitess-24-compat","purlType":"apk","versions":[{"text":"< 24.0.3-r7","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 24.0.3-r7","eol":null,"hubHref":null},{"vendor":"wolfi","product":"keycloak-26.5","name":"keycloak-26.5","label":"keycloak-26.5","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/keycloak-26.5","purlType":"apk","versions":[{"text":"< 26.5.7-r3","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 26.5.7-r3","eol":null,"hubHref":null},{"vendor":"wolfi","product":"keycloak-26.5-iamguarded-compat","name":"keycloak-26.5-iamguarded-compat","label":"keycloak-26.5-iamguarded-compat","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/keycloak-26.5-iamguarded-compat","purlType":"apk","versions":[{"text":"< 26.5.7-r3","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 26.5.7-r3","eol":null,"hubHref":null},{"vendor":"wolfi","product":"vitess-24","name":"vitess-24","label":"vitess-24","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/vitess-24","purlType":"apk","versions":[{"text":"< 24.0.2-r7","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 24.0.2-r7","eol":null,"hubHref":null},{"vendor":"wolfi","product":"vitess-24-compat","name":"vitess-24-compat","label":"vitess-24-compat","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/vitess-24-compat","purlType":"apk","versions":[{"text":"< 24.0.3-r7","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 24.0.3-r7","eol":null,"hubHref":null},{"vendor":"Npm","product":"react-router","name":"react-router","label":"react-router","ecosystem":"Npm","cpePart":null,"purl":"pkg:npm/react-router","purlType":"npm","versions":[{"text":"≥ 6.4.0, < 7.18.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 6.4.0, < 7.18.0","eol":null,"hubHref":null},{"vendor":"remix-run","product":"react-router","name":"react-router","label":"react-router","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 6.4.0, < 7.18.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 6.4.0, < 7.18.0","eol":null,"hubHref":"/vendor/remix-run/react-router"},{"vendor":"shopify","product":"react-router","name":"react-router","label":"react-router","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 6.4.0, < 7.18.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 6.4.0, < 7.18.0","eol":null,"hubHref":"/vendor/shopify/react-router"}],"affectedCount":16,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/remix-run/react-router/security/advisories/GHSA-337j-9hxr-rhxg","label":"github.com/remix-run/react-router/security/advisories/GHSA-337j-9hxr-rhxg","hostname":"github.com","tags":["X Refsource CONFIRM","Advisory","WEB","Third Party Advisory"]},{"url":"https://github.com/remix-run/react-router/pull/15175","label":"github.com/remix-run/react-router/pull/15175","hostname":"github.com","tags":["X Refsource MISC","FIX","WEB","Issue Tracking","Patch"]},{"url":"https://github.com/remix-run/react-router/commit/9d22943fd46c8ae4b08236425fa3549e10e9ad1a","label":"github.com/remix-run/react-router/commit/9d22943fd46c8ae4b08236425fa3549e10e9ad1a","hostname":"github.com","tags":["X Refsource MISC","FIX","WEB","Patch"]},{"url":"https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7180","label":"github.com/remix-run/react-router/blob/main/CHANGELOG.md","hostname":"github.com","tags":["X Refsource MISC","WEB","Release Notes"]},{"url":"https://github.com/remix-run/react-router/releases/tag/react-router@7.18.0","label":"github.com/remix-run/react-router/releases/tag/react-router@7.18.0","hostname":"github.com","tags":["X Refsource MISC","WEB","Release Notes"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53666.json","label":"github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53666.json","hostname":"github.com","tags":["Advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-53666","label":"nvd.nist.gov/vuln/detail/CVE-2026-53666","hostname":"nvd.nist.gov","tags":["Advisory"]},{"url":"https://github.com/remix-run/react-router","label":"github.com/remix-run/react-router","hostname":"github.com","tags":["PACKAGE"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":["CGA-V4XJ-XGV4-X468"]},"timeline":[{"kind":"published","date":"2026-07-27T21:14:49.547Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-07-28T15:19:58.603Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":24,"level":"low","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T00:32:18.794Z","stale":false,"partial":false}}