CVE-2026-75513: Marten's LINQ provider has SQL injection via unescaped string literals
Several code paths in Marten’s LINQ provider and tenant-management internals interpolated a runtime, potentially attacker-influenced value into generated SQL as a single-quoted string literal without escaping or parameterization. A value containing a single quote (') could break out of the literal and inject arbitrary SQL.
The primary vector is a Dictionary<,> indexer key used in a Where filter — Where(x => x.Attributes[key] == v) — a common “filter by attribute name” / EAV pattern. It is confirmed with an executed proof-of-concept and yields filter / multi-tenant authorization bypass (returning other tenants’ rows) and blind data exfiltration. Where the application permits ;-batched statements (Npgsql default), data modification is also possible.
References
- github.com/JasperFx/marten/commit/61882d0424854cb48703f08bdb246894ac576bed
- github.com/JasperFx/marten/pull/4911
- github.com/JasperFx/marten/releases/tag/9.13.0
- github.com/JasperFx/marten/security/advisories/GHSA-rfx3-98h7-v3xp
- github.com/advisories/GHSA-rfx3-98h7-v3xp
- nvd.nist.gov/vuln/detail/CVE-2026-75513
Code Behaviors & Features
Detect and mitigate CVE-2026-75513 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →