CVE-2026-75513: Marten: SQL injection in Marten's LINQ provider via unescaped string literals

Published Sep 16, 2026
·
Updated

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 Software

1 affected component
Marten Marten>=7.0.0<9.13.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Marten to a version that resolves this vulnerability.

    Fixed in 9.13.0

Event History

Sep 16, 2026
CVE Published
via MITRE·08:46 PM
Data Sourced
via MITRE·08:46 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are affected?

Marten versions from 7.0.0 until 9.13.0 are affected. Version 9.13.0 contains the fix.

2

What attacker access is required?

The severity vector indicates low privileges are required and no user interaction is needed. Exploitation requires a runtime string that an attacker can control to reach an affected Marten LINQ or tenant-management path.

3

Are all dictionary key operations affected regardless of serializer?

The confirmed dictionary indexer key path used by Where filters is affected. ContainsKey handling is affected only when using the Newtonsoft serializer; System.Text.Json is not affected for that ContainsKey path.

4

When can this lead to data modification rather than data exposure or authorization bypass?

A crafted quote can enable filter or multi-tenant authorization bypass and blind data exfiltration. Data modification may also be possible where the deployment permits semicolon-batched Npgsql statements.

5

How can teams identify relevant exposure before upgrading?

Identify Marten installations in the affected version range and review use of dictionary indexer keys in Where filters, tenant-management operations, Select parsing, and projection-progress deletion through IEventStore.DeleteProjectionProgressAsync. Also determine whether Newtonsoft-based ContainsKey queries or semicolon-batched Npgsql statements are in use.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203