Sceawere

Vulnerability Detail

CVE-2026-75513UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV

Marten SQL Injection Vulnerability

Vulnerability Metadata

Severity
Critical
Score / CVSS
9.1
Creation Date
1d ago
Vendor
Product
N/A
Attack Type
N/A
Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:L

Narrative and Response

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.

Executive Summary

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Executive Summary Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Technical Details

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Detailed Technical Analysis Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Mitigations

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Remediation & Mitigations Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

References

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Intelligence References Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Additional Metadata

{
  "score": "9.1",
  "pubDate": "2026-09-16T21:17:13.440Z",
  "pubdate": "2026-09-16T21:17:13.440Z",
  "executiveSummary": "Marten, a .NET Transactional Document DB and Event Store for PostgreSQL, is vulnerable to SQL injection across versions 7.0.0 through 9.12.x.\nThe vulnerability stems from the unsafe interpolation of attacker-controlled strings into single-quoted SQL literals within LINQ queries and tenant-management logic.\nSuccessful exploitation allows attackers to bypass filter criteria and multi-tenant authorization, potentially leading to unauthorized data access and blind exfiltration.\nIn environments configured to support semicolon-batched Npgsql statements, this vulnerability can be escalated to unauthorized data modification or arbitrary command execution within the database context.\nAffected components include LINQ dictionary indexing, select parsing, tenant partitioning, and event store projection progress deletion.\nThe risk is critical, as it undermines the database abstraction layer's security controls, exposing sensitive document data and partition boundaries.",
  "technicalDetails": "The vulnerability exists due to improper neutralization of input data before constructing SQL queries. Within the Marten LINQ provider and tenant management modules, runtime strings are directly interpolated into SQL literals instead of using parameterized queries or safe Npgsql command preparation.\nThe primary vector is identified in 'src/Marten/Linq/Members/Dictionaries/DictionaryItemMember.cs', where dictionary indexer keys used in 'Where' filters are concatenated into the SQL statement. When an attacker supplies a value containing a single quote, they can terminate the literal string, break out of the intended query context, and inject arbitrary SQL syntax.\nAdditional vulnerable sinks include 'SelectParser.cs' for query construction, 'DatabaseScopedTenantPartitions.cs' and 'DeleteAllForTenant.cs' within the 'IEventStore.DeleteProjectionProgressAsync' flow, and 'DictionaryContainsKeyFilter.cs'. Notably, 'DictionaryContainsKeyFilter.cs' is only vulnerable when utilizing the Newtonsoft serializer, as 'System.Text.Json' implementations remain unaffected.\nA secondary sink exists in 'Events/Daemon/Internals/EventLoader.cs', which performs per-tenant partition-pruning. This is treated as a defense-in-depth risk point, potentially allowing bypasses in tenant-isolated environments.\nThe attack flow involves supplying a malicious payload via a dictionary key or tenant-related parameter. By injecting a single quote followed by SQL keywords (e.g., ' OR 1=1 --), an attacker can alter the query's logical structure. If the underlying Npgsql connection string permits multi-statement queries (separated by semicolons), the attacker can terminate the initial query and initiate a secondary command, enabling destructive operations such as 'DELETE' or 'UPDATE' on the database.\nExploitation requires the application to expose endpoints that allow user-supplied data to influence LINQ filters or tenant contexts. The impact is significant in multi-tenant deployments, where an attacker could theoretically access or modify data belonging to other tenants by manipulating the tenant-specific partitioning logic. Data exfiltration can be performed using blind SQL injection techniques, observing application responses or side-channel behavior resulting from query manipulation."
}