{"api_version":"1","generated_at":"2026-10-23T10:58:23+00:00","cve":"CVE-2026-87890","urls":{"html":"https://cve.report/CVE-2026-87890","api":"https://cve.report/api/cve/CVE-2026-87890.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-87890","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-87890"},"summary":{"title":"Potential request forgery via spatial lookup byte values","description":"An issue was discovered in Django 6.1 before 6.1.2, 6.0 before 6.0.9, and 5.2 before 5.2.18.\nAn incomplete fix for CVE-2026-15307 in Django spatial lookups allows an attacker who can supply `bytes` values to cause the Django process to make network requests via a crafted VRT document referencing an external raster source.\nEarlier, unsupported Django series (such as 5.1.x, 5.0.x, and 4.2.x) were not evaluated and may also be affected.\nDjango would like to thank sicksec for reporting this issue.","state":"PUBLISHED","assigner":"DSF","published_at":"2026-10-06 14:17:47","updated_at":"2026-10-06 14:17:47"},"problem_types":["CWE-918","CWE-918 CWE-918: Server-Side Request Forgery (SSRF)"],"metrics":[{"version":"4.0","source":"6a34fbeb-21d4-45e7-8e0a-62b95bc12c92","type":"Secondary","score":"6.9","severity":"MEDIUM","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","data":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","baseScore":6.9,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"LOW","vulnIntegrityImpact":"NONE","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"LOW","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","confidentialityRequirement":"NOT_DEFINED","integrityRequirement":"NOT_DEFINED","availabilityRequirement":"NOT_DEFINED","modifiedAttackVector":"NOT_DEFINED","modifiedAttackComplexity":"NOT_DEFINED","modifiedAttackRequirements":"NOT_DEFINED","modifiedPrivilegesRequired":"NOT_DEFINED","modifiedUserInteraction":"NOT_DEFINED","modifiedVulnConfidentialityImpact":"NOT_DEFINED","modifiedVulnIntegrityImpact":"NOT_DEFINED","modifiedVulnAvailabilityImpact":"NOT_DEFINED","modifiedSubConfidentialityImpact":"NOT_DEFINED","modifiedSubIntegrityImpact":"NOT_DEFINED","modifiedSubAvailabilityImpact":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED"}},{"version":"4.0","source":"CNA","type":"DECLARED","score":"6.9","severity":"MEDIUM","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:L/SA:N","data":{"baseScore":6.9,"baseSeverity":"MEDIUM","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:L/SA:N","version":"4.0"}},{"version":"3.1","source":"6a34fbeb-21d4-45e7-8e0a-62b95bc12c92","type":"Secondary","score":"5.3","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","baseScore":5.3,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"NONE","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"5.3","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","data":{"baseScore":5.3,"baseSeverity":"MEDIUM","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","version":"3.1"}}],"references":[{"url":"https://github.com/django/django/commit/ebcb13b327301f28cbc6cd5e4988a719f00575aa","name":"https://github.com/django/django/commit/ebcb13b327301f28cbc6cd5e4988a719f00575aa","refsource":"6a34fbeb-21d4-45e7-8e0a-62b95bc12c92","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/django/django/commit/a2347fe8234a1831d56c875acc0ea51e0742957c","name":"https://github.com/django/django/commit/a2347fe8234a1831d56c875acc0ea51e0742957c","refsource":"6a34fbeb-21d4-45e7-8e0a-62b95bc12c92","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://groups.google.com/g/django-announce","name":"https://groups.google.com/g/django-announce","refsource":"6a34fbeb-21d4-45e7-8e0a-62b95bc12c92","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://docs.djangoproject.com/en/dev/releases/security/","name":"https://docs.djangoproject.com/en/dev/releases/security/","refsource":"6a34fbeb-21d4-45e7-8e0a-62b95bc12c92","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.djangoproject.com/weblog/2026/oct/06/security-releases/","name":"https://www.djangoproject.com/weblog/2026/oct/06/security-releases/","refsource":"6a34fbeb-21d4-45e7-8e0a-62b95bc12c92","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/django/django/commit/dd0558d1617619e0d66163675ef02135d0f54e5f","name":"https://github.com/django/django/commit/dd0558d1617619e0d66163675ef02135d0f54e5f","refsource":"6a34fbeb-21d4-45e7-8e0a-62b95bc12c92","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/django/django/commit/4e77ef1e69c94780006b82795aa7db101996c3af","name":"https://github.com/django/django/commit/4e77ef1e69c94780006b82795aa7db101996c3af","refsource":"6a34fbeb-21d4-45e7-8e0a-62b95bc12c92","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-87890","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-87890","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"djangoproject","product":"Django","version":"affected 6.1 6.1.2 python","platforms":[]},{"source":"CNA","vendor":"djangoproject","product":"Django","version":"unaffected 6.1.2 python","platforms":[]},{"source":"CNA","vendor":"djangoproject","product":"Django","version":"affected 6.0 6.0.9 python","platforms":[]},{"source":"CNA","vendor":"djangoproject","product":"Django","version":"unaffected 6.0.9 python","platforms":[]},{"source":"CNA","vendor":"djangoproject","product":"Django","version":"affected 5.2 5.2.18 python","platforms":[]},{"source":"CNA","vendor":"djangoproject","product":"Django","version":"unaffected 5.2.18 python","platforms":[]}],"timeline":[{"source":"CNA","time":"2026-08-15T04:09:55.000Z","lang":"en","value":"Initial report received."},{"source":"CNA","time":"2026-08-27T04:10:18.000Z","lang":"en","value":"Vulnerability confirmed."},{"source":"CNA","time":"2026-10-06T08:00:00.000Z","lang":"en","value":"Security release issued."}],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"sicksec","lang":"en"},{"source":"CNA","value":"Sarah Boyce","lang":"en"},{"source":"CNA","value":"Sarah Boyce","lang":"en"}],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-87890","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","timestamp":"2026-10-06T14:06:27.700001Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-10-06T14:06:56.731Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"collectionURL":"https://pypi.org/project/Django/","defaultStatus":"unaffected","packageName":"django","product":"Django","repo":"https://github.com/django/django/","vendor":"djangoproject","versions":[{"lessThan":"6.1.2","status":"affected","version":"6.1","versionType":"python"},{"status":"unaffected","version":"6.1.2","versionType":"python"},{"lessThan":"6.0.9","status":"affected","version":"6.0","versionType":"python"},{"status":"unaffected","version":"6.0.9","versionType":"python"},{"lessThan":"5.2.18","status":"affected","version":"5.2","versionType":"python"},{"status":"unaffected","version":"5.2.18","versionType":"python"}]}],"credits":[{"lang":"en","type":"reporter","value":"sicksec"},{"lang":"en","type":"remediation developer","value":"Sarah Boyce"},{"lang":"en","type":"coordinator","value":"Sarah Boyce"}],"datePublic":"2026-10-06T08:00:00.000Z","descriptions":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"<p>An issue was discovered in Django 6.1 before 6.1.2, 6.0 before 6.0.9, and 5.2 before 5.2.18.</p><p>An incomplete fix for CVE-2026-15307 in Django spatial lookups allows an attacker who can supply <code>bytes</code> values to cause the Django process to make network requests via a crafted VRT document referencing an external raster source.</p><p>Earlier, unsupported Django series (such as 5.1.x, 5.0.x, and 4.2.x) were not evaluated and may also be affected.</p><p>Django would like to thank sicksec for reporting this issue.</p>"}],"value":"An issue was discovered in Django 6.1 before 6.1.2, 6.0 before 6.0.9, and 5.2 before 5.2.18.\nAn incomplete fix for CVE-2026-15307 in Django spatial lookups allows an attacker who can supply `bytes` values to cause the Django process to make network requests via a crafted VRT document referencing an external raster source.\nEarlier, unsupported Django series (such as 5.1.x, 5.0.x, and 4.2.x) were not evaluated and may also be affected.\nDjango would like to thank sicksec for reporting this issue."}],"impacts":[{"capecId":"CAPEC-664","descriptions":[{"lang":"en","value":"CAPEC-664: Server Side Request Forgery"}]}],"metrics":[{"other":{"content":{"namespace":"https://docs.djangoproject.com/en/dev/internals/security/#security-issue-severity-levels","value":"moderate"},"type":"Django severity rating"}},{"cvssV3_1":{"baseScore":5.3,"baseSeverity":"MEDIUM","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","version":"3.1"}},{"cvssV4_0":{"baseScore":6.9,"baseSeverity":"MEDIUM","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:L/SA:N","version":"4.0"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-918","description":"CWE-918: Server-Side Request Forgery (SSRF)","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-10-06T13:35:37.964Z","orgId":"6a34fbeb-21d4-45e7-8e0a-62b95bc12c92","shortName":"DSF"},"references":[{"name":"Django security archive","tags":["vendor-advisory"],"url":"https://docs.djangoproject.com/en/dev/releases/security/"},{"name":"Django releases announcements","tags":["mailing-list"],"url":"https://groups.google.com/g/django-announce"},{"tags":["patch"],"url":"https://github.com/django/django/commit/ebcb13b327301f28cbc6cd5e4988a719f00575aa"},{"tags":["patch"],"url":"https://github.com/django/django/commit/4e77ef1e69c94780006b82795aa7db101996c3af"},{"tags":["patch"],"url":"https://github.com/django/django/commit/a2347fe8234a1831d56c875acc0ea51e0742957c"},{"tags":["patch"],"url":"https://github.com/django/django/commit/dd0558d1617619e0d66163675ef02135d0f54e5f"},{"name":"Django security releases issued: 6.1.2, 6.0.9, and 5.2.18","tags":["vendor-advisory"],"url":"https://www.djangoproject.com/weblog/2026/oct/06/security-releases/"}],"source":{"discovery":"EXTERNAL"},"timeline":[{"lang":"en","time":"2026-08-15T04:09:55.000Z","value":"Initial report received."},{"lang":"en","time":"2026-08-27T04:10:18.000Z","value":"Vulnerability confirmed."},{"lang":"en","time":"2026-10-06T08:00:00.000Z","value":"Security release issued."}],"title":"Potential request forgery via spatial lookup byte values","x_generator":{"engine":"cvelib 1.8.0"}}},"cveMetadata":{"assignerOrgId":"6a34fbeb-21d4-45e7-8e0a-62b95bc12c92","assignerShortName":"DSF","cveId":"CVE-2026-87890","datePublished":"2026-10-06T13:35:37.964Z","dateReserved":"2026-09-09T14:50:25.689Z","dateUpdated":"2026-10-06T14:06:56.731Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-06 14:17:47","lastModifiedDate":"2026-10-06 14:17:47","problem_types":["CWE-918","CWE-918 CWE-918: Server-Side Request Forgery (SSRF)"],"metrics":{"cvssMetricV40":[{"source":"6a34fbeb-21d4-45e7-8e0a-62b95bc12c92","type":"Secondary","cvssData":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","baseScore":6.9,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"LOW","vulnIntegrityImpact":"NONE","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"LOW","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","confidentialityRequirement":"NOT_DEFINED","integrityRequirement":"NOT_DEFINED","availabilityRequirement":"NOT_DEFINED","modifiedAttackVector":"NOT_DEFINED","modifiedAttackComplexity":"NOT_DEFINED","modifiedAttackRequirements":"NOT_DEFINED","modifiedPrivilegesRequired":"NOT_DEFINED","modifiedUserInteraction":"NOT_DEFINED","modifiedVulnConfidentialityImpact":"NOT_DEFINED","modifiedVulnIntegrityImpact":"NOT_DEFINED","modifiedVulnAvailabilityImpact":"NOT_DEFINED","modifiedSubConfidentialityImpact":"NOT_DEFINED","modifiedSubIntegrityImpact":"NOT_DEFINED","modifiedSubAvailabilityImpact":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED"}}],"cvssMetricV31":[{"source":"6a34fbeb-21d4-45e7-8e0a-62b95bc12c92","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","baseScore":5.3,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"NONE","availabilityImpact":"NONE"},"exploitabilityScore":3.9,"impactScore":1.4}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-10-06T14:06:27.700001Z","id":"CVE-2026-87890","options":[{"exploitation":"none"},{"automatable":"yes"},{"technicalImpact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"87890","Ordinal":"1","Title":"Potential request forgery via spatial lookup byte values","CVE":"CVE-2026-87890","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"87890","Ordinal":"1","NoteData":"An issue was discovered in Django 6.1 before 6.1.2, 6.0 before 6.0.9, and 5.2 before 5.2.18.\nAn incomplete fix for CVE-2026-15307 in Django spatial lookups allows an attacker who can supply `bytes` values to cause the Django process to make network requests via a crafted VRT document referencing an external raster source.\nEarlier, unsupported Django series (such as 5.1.x, 5.0.x, and 4.2.x) were not evaluated and may also be affected.\nDjango would like to thank sicksec for reporting this issue.","Type":"Description","Title":"Potential request forgery via spatial lookup byte values"}]}}}