
Veeam, Terraform MCP, Django Patch Critical Flaws, Led by CVSS 10.0 Cross-Tenant Bug
The Hacker News roundup covers 11 patched CVEs across three products: Veeam Service Provider Console (CVE-2026-58073, 9.5, unauthenticated managed-agent credential theft; CVE-2026-58072, arbitrary file write to RCE), HashiCorp's Terraform MCP Server (CVE-2026-16498, a 10.0 cross-tenant credential-reuse bug caused by the underlying MCP library not issuing unique session IDs in stateless HTTP mode; CVE-2026-16496 stateful-mode equivalent; CVE-2026-14869 SSRF via header/query-param inconsistency), and Django/GeoDjango (CVE-2026-15307, a spatial-lookup flaw letting GDALRaster write files, reachable by a staff user with view permission on a model with a spatial field, plus a stored XSS, a GEOS DoS, and a language-code DoS). Fixes: Terraform MCP Server 1.1.0+, VSPC 9.3.0.35057, Django 6.0.8/5.2.17; none of the flaws are known to be exploited or listed in CISA KEV as of publication.
What to prioritize when the CVSS numbers mislead
The summary lists the CVEs and fixes accurately. What it omits is the page's central argument: the headline scores do not give you a priority order, and two independent reasons cut against reading them that way.
First, the numbers are on different scales — Veeam scores on CVSS 4.0, the HashiCorp records on 3.1 — so the Veeam 9.5 and the Terraform 10.0 are not the same measurement. Second, the Veeam 9.5 (CVE-2026-58073, unauthenticated managed-agent credential theft) carries a high attack-complexity rating in its vector; "unauthenticated" here does not mean a straight-line exploit.
Which Terraform flaw is actually in reach depends on config
The 10.0 (CVE-2026-16498) and the 8.9 (CVE-2026-16496) are the same isolation failure in different modes, and which one applies to you is a configuration question, not a severity ranking:
flowchart TD
A[Terraform MCP Server transport] --> B{Mode}
B -->|stdio, local single-user| C[Unaffected]
B -->|Streamable HTTP, stateless| D[CVE-2026-16498 10.0<br/>no unique session IDs]
B -->|Streamable HTTP, stateful DEFAULT| E[CVE-2026-16496 8.9<br/>session ID sole cache key]Stateless mode (the 10.0) must be deliberately enabled. Stateful mode (the 8.9) is the default for a central deployment — so for most shared installs the lower-scored bug is the one in reach. A third flaw, CVE-2026-14869 (SSRF, 8.6), lets an unauthenticated caller on the HTTP listener make the server send its bearer token to an attacker endpoint by passing the Terraform address as a query parameter instead of a header.
Interim mitigation (Terraform MCP)
If you cannot upgrade to 1.1.0+ immediately, the page states two actions: restrict network access to the Streamable HTTP listener to trusted users, and treat MCP session IDs as sensitive values. Note a version discrepancy the reader should verify: HashiCorp's umbrella bulletin lists affected versions 0.2.1–1.0.0, while the individual CVE records begin at 0.3.0; both agree 1.1.0 is the first fixed release.
Django: why the exploitation history doesn't fully carry over
The GeoDjango fix for CVE-2026-15307 is a backward-incompatible change — spatial lookups no longer accept dict values or non-GEOSGeometry strings (direct model-field assignments still do). The page adds context the summary lacks: Django's GIS code was actively exploited earlier in 2026 via CVE-2026-1207 (PostGIS raster SQL injection), with CrowdSec observing first attacks Feb 26 and steady probing since. But that reconnaissance fingerprints PostGIS-backed Django from outside, whereas the new flaw's documented route requires a staff account with view permission — so the existing probing "stops a step short of an actual way in." What carries over is attacker scrutiny on this code, not a ready exploit path.
The specific hardening limits are worth noting for detection: the GEOS DoS (CVE-2026-15830) is now capped at 198 collections, and the language-code DoS (CVE-2026-15337) now rejects codes over 500 characters. Django's older unsupported branches (5.1, 5.0, 4.2) were not evaluated and may also be affected.
Organisations named here
- Coinspect
- CrowdSec
- Juan Pablo Martinez Kuhn
CVEs named here
- CVE-2026-58073
- CVE-2026-58072
- CVE-2026-58067
- CVE-2026-58071
- CVE-2026-32998
- CVE-2026-16498
- CVE-2026-16496
- CVE-2026-14869
- CVE-2026-15307
- CVE-2026-15920
- CVE-2026-15830
- CVE-2026-15337
- CVE-2026-1207
Technologies named here
- terraform-mcp-server
- Veeam Service Provider Console
- Django
- CISA Known Exploited Vulnerabilities Catalog
- Terraform
- Model Context Protocol
- PostgreSQL
- CVSS
- CISA KEV
Techniques named here
- Credential impersonation of a managed agent
- Arbitrary file write leading to RCE
- Memory-exhaustion denial of service
- Session ID theft for cache key hijacking
- Server-side request forgery via parameter bypass
- Malicious raster value injection into spatial lookups
- Stored XSS via unsafe URLField rendering
- GEOS segmentation fault via nested geometry collections
- SQL injection via PostGIS raster lookups
Related in AppSec
Flowise MCP Security Bypass Enables RCE
Inside an Oracle Database SQL Injection Attack | Huntress
OASIS
