Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain publish access to consumed queue/topic
-
DeliverySend structurally valid, type-mismatched JSON
-
ExploitTrigger uncaught JsonSerializationException
-
ExecutionService treats as CriticalFailure, calls StopApplication
-
PersistUnacknowledged message redelivered on restart
-
ImpactPermanent crash-loop (denial of service)
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Exception handling procedures
|
| Exploitation Conditions | The target must run a Motor.NET service (version <0.19.0) that consumes messages via TypedConsumerService and deserializes payloads with JsonNetDeserializer.Deserialize, and the attacker must be able to publish to a queue or topic that service consumes (e.g., Kafka/SQS/pgmq backend reachable by the attacker). The trigger is explicitly described: sending structurally valid JSON that does not match the handler's expected type, which raises JsonSerializationException - an exception not caught alongside JsonReaderException and InvalidCastException. The limiting factor is publish access to the consumed queue/topic: if the message broker/topic is not reachable or writable by untrusted parties, exploitation is not possible despite the PR:N rating; no user interaction or authentication to Motor.NET itself is required. |
| Impact | Signals are mixed and point to a serious-but-bounded availability issue rather than a top-tier emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) scores 8.7 and describes a low-complexity, network-reachable flaw with no authentication requirement per PR:N, but impact is confined to availability only (VC:N/VI:N/VA:H) - there is no confidentiality or integrity exposure. The vuln.today decision label is 'this_week' (not act_now/emergency), and the flaw is NOT in CISA KEV, so it is not confirmed as actively exploited. No EPSS score was supplied, so statistical exploitation likelihood cannot be quantified, and no PoC or exploit reference is present in the input - only a patch, PR, commit, and a VulnCheck advisory - so this is 'no public exploit identified at time of analysis.' One nuance deserves explicit flagging: although CVSS marks PR:N, the description states the attacker must be able to 'publish to a consumed queue or topic,' which is a real deployment precondition (broker/topic access) that the CVSS vector does not capture - verify whether your message brokers are exposed before treating this as fully unauthenticated. Net: a low-complexity permanent denial-of-service with a severe crash-loop consequence, but against a niche .NET framework and gated by message-publishing access, so prioritize patching for affected services this week rather than as an immediate fire-drill. |
| Exploit ScenarioDerived | An attacker with the ability to publish messages to a queue or topic that a Motor.NET service consumes sends a structurally valid JSON message whose shape does not match the handler's expected type. Deserialization throws an uncaught JsonSerializationException, which TypedConsumerService.SingleMessageConsumeAsync treats as a CriticalFailure and calls StopApplication; because the poison message is left unacknowledged and redelivered on restart, the service enters a permanent crash-loop. No public exploit code is identified in the provided data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 22, 2026
Permanent denial of service in Motor.NET before 0.19.0: any party able to publish to a queue or topic that a Motor.NET service consumes can crash that service and keep it down. The service deserializes incoming payloads with JsonNetDeserializer.Deserialize, and structurally valid JSON that does not match the handler's expected type raises a JsonSerializationException that the code does not catch, so TypedConsumerService.SingleMessageConsumeAsync classifies the message as a CriticalFailure and calls StopApplication. Because the offending message is never acknowledged, it is redelivered on restart and re-triggers the shutdown, producing a crash-loop that persists until the message is removed or the library is upgraded; the CVSS 4.0 score is 8.7 (AV:N/AC:L/PR:N/UI:N/VA:H) with no confidentiality or integrity impact, and no public exploit code was identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade Motor.NET to 0.19.0 or later, which addresses application shutdowns caused by invalid CloudEvent envelopes and adds the missing handling around JSON deserialization failures (release https://github.com/GDATASoftwareAG/motornet/releases/tag/v0.19.0, PR https://github.com/GDATASoftwareAG/motornet/pull/1785, commit https://github.com/GDATASoftwareAG/motornet/commit/d5aee7db8e0de3cec95bf8744c499c2ff6019c0c); after upgrading, purge or dead-letter any message left unacknowledged in the queue, since it will otherwise continue to be redelivered. Until the upgrade is deployed, the practical compensating control is to restrict publish access to every queue and topic consumed by Motor.NET services so that only trusted producers can write to them - via broker ACLs, IAM policies for SQS, or network segmentation of the Kafka/pgmq endpoints - because the attack requires the ability to publish and cannot be triggered by a party without write access; the trade-off is that this also blocks legitimate external or third-party producers, and it does not protect queues that are intentionally open to untrusted publishers. Running consumers with supervised restarts limits downtime but does not stop the loop while the poison message remains in the queue.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Motor.NET (GDATASoftwareAG/motornet, CPE cpe:2.3:a:gdatasoftwareag:motornet) is a .NET messaging framework that wraps brokers such as Kafka, AWS SQS and pgmq and deserializes consumed payloads into strongly typed handlers. The root cause is CWE-755, improper handling of exceptional conditions: the JsonNetDeserializer.Deserialize path catches JsonReaderException and InvalidCastException, but not Newtonsoft.Json's JsonSerializationException, which is what a structurally valid JSON document that does not match the expected target type produces. The uncaught exception travels up to TypedConsumerService.SingleMessageConsumeAsync, which interprets it as a CriticalFailure rather than a poison-message condition, invokes StopApplication, and leaves the message unacknowledged; the broker then redelivers it on the next start, so the failure is self-reinforcing. The upstream release notes for v0.19.0 describe the same class of fix as handling "potential application shutdowns due to invalid CloudEvent envelopes," and PR #1785 with commit d5aee7db8e0de3cec95bf8744c499c2ff6019c0c carries the change. The vulnerability is purely an availability issue: no memory corruption, no code execution and no data exposure is described, and the vector's low attack complexity reflects that a single malformed-but-valid message is sufficient, not that any timing or race condition is involved.
Know when Motornet gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Network-delivered poison message with low complexity and no authentication to the component (PR:N per vendor); availability-only impact as the crash-loop halts the service, with no C/I impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Motor.NET before 0.19.0 contains an uncaught exception vulnerability in JsonNetDeserializer.Deserialize that allows a remote attacker who can publish to a consumed queue or topic to crash the service permanently by sending structurally valid JSON that does not match the handler's expected type. Attackers can exploit the fact that JsonSerializationException is not caught alongside JsonReaderException and InvalidCastException, causing TypedConsumerService.SingleMessageConsumeAsync to treat the error as CriticalFailure and call StopApplication, which combined with the unacknowledged message being redelivered on restart results in a permanent crash-loop.
Executive ViewAI
CVE-2026-112332 in Motor.NET before 0.19.0 allows any entity that can publish to a consumed queue or topic to permanently crash the service by triggering an unhandled deserialization exception that forces the application to stop and enter a crash-loop. This affects availability of Motor.NET-based services, potentially disrupting business operations until the offending message is removed or the library is upgraded. Leadership should prioritize patching because recovery requires manual intervention each time, and repeated outages could impact service-level agreements.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
A single crafted Kafka record can permanently crash-loop a Motor.NET service running any version before 0.19.0 that cons
Denial of service in Motor.NET before 0.19.0 lets anyone able to publish to a queue the service consumes crash it perman
EUVD-2026-108344
NVD
CVE.org
GitHub
Exploit-DB