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. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →