What’s Vulnerable › Vulnerabilities
CVE-2026-75513: Marten: SQL injection in Marten's LINQ provider via unescaped string literals
- Severity: critical (CVSS 9.1 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.5% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-09-16 · updated 2026-09-19
- Weakness: CWE-89
Description
Marten is a .NET Transactional Document DB and Event Store on PostgreSQL. From version 7.0.0 until 9.13.0, several Marten LINQ and tenant-management paths interpolate runtime, potentially attacker-controlled strings into single-quoted SQL literals without escaping or parameterization. The primary confirmed vector is a dictionary indexer key used by Where filters in src/Marten/Linq/Members/Dictionaries/DictionaryItemMember.cs. Additional affected sinks include SelectParser.cs, DatabaseScopedTenantPartitions.cs, and DeleteAllForTenant.cs reached through IEventStore.DeleteProjectionProgressAsync, while DictionaryContainsKeyFilter.cs (Newtonsoft serializer only; System.Text.Json is not affected) handles ContainsKey calls. Events/Daemon/Internals/EventLoader.cs contains a related per-tenant partition-pruning literal that the advisory identifies as a defense-in-depth sink. A crafted single quote can escape the generated literal, enabling filter or multi-tenant authorization bypass and blind data exfiltration, and deployments that permit semicolon-batched Npgsql statements may also allow data modification. This issue is fixed in version 9.13.0.
Affected products
- JasperFx marten: from 7.0.0, < 9.13.0
References
- https://github.com/JasperFx/marten/commit/61882d0424854cb48703f08bdb246894ac576bed
- https://github.com/JasperFx/marten/pull/4911
- https://github.com/JasperFx/marten/releases/tag/9.13.0
- https://github.com/JasperFx/marten/security/advisories/GHSA-rfx3-98h7-v3xp
- https://github.com/JasperFx/marten/security/advisories/GHSA-rfx3-98h7-v3xp
Get alerted when CVE-2026-75513 or the next vulnerability affects your stack