{"id":"CVE-2026-112330","kind":"vulnerability","aliases":["CVE-2026-112330"],"related":[],"title":"Motor.NET: crafted message headers crash the service permanently","description":"Motor.NET before 0.19.0 contains a denial of service vulnerability that allows a remote attacker who can publish to a consumed queue to crash the service permanently by sending a message with crafted cloudEvents headers. Attackers can supply an invalid cloudEvents:motorversion, a single double-quote header value, or an unparsable typed attribute such as cloudEvents:time to trigger an unhandled exception in ExtractCloudEvent that is treated as fatal, causing the application to stop and the unacknowledged message to be redelivered on restart, resulting in a permanent crash-loop.","summary":"Motor.NET (GDATASoftwareAG/motornet) before 0.19.0 throws an unhandled exception in ExtractCloudEvent when a message has malformed cloudEvents headers (invalid cloudEvents:motorversion, a lone double-quote value, or an unparsable typed attribute such as cloudEvents:time). The host treats it as fatal and stops. The unacknowledged message is redelivered on restart, so the service crash-loops until the message is removed. Anyone who can publish to a queue the service consumes can trigger it. CVSS 8.7 (v4) / 7.5 (v3.1), CWE-755. Reported by Alex Williams, Pellera Technologies.","severity":"high","cvss":8.7,"epss":0.00627,"exploited":false,"exploited_at":null,"products":[{"name":"Motor.NET","fixed":["0.19.0"],"affected":"< 0.19.0","ecosystem":"nuget"}],"ecosystems":["nuget"],"tags":["cloudevents","denial-of-service","dotnet","message-queue","motor.net","nuget","package","rabbitmq"],"not_affected_if":["motor-net-not-used","no-untrusted-publishers","not-using-cloudevents-headers"],"how_to_check":"Check whether your .NET projects reference any Motor.* NuGet package (e.g. Motor.Extensions.Hosting) at a version below 0.19.0: run 'dotnet list package' or grep PackageReference in *.csproj. Then check who can publish to the queues or topics those services consume. A service that restarts repeatedly on one message is the symptom.","fix":"Upgrade Motor.NET packages to 0.19.0 or later (release v0.19.0, PR #1785 'Fix unwanted host shutdown because of broken input'). Until then, restrict publish rights on consumed queues to trusted producers. If already crash-looping, remove or dead-letter the poison message.","status":"open","published_at":"2026-10-22T20:17:05+00:00","first_seen_at":"2026-10-23T21:57:32+00:00","triaged_at":"2026-10-23T22:35:10+00:00","updated_at":"2026-10-24T07:15:51+00:00","category":"package","confidence":0.85,"triage":{"at":"2026-10-23T22:35:10Z","model":"claude-haiku-5-5","output":{"fix":"Upgrade Motor.NET to 0.19.0 or later.","reach":"network","title":"Motor.NET: crafted message headers crash the service permanently","impact":"low","summary":"Motor.NET before 0.19.0 lets anyone who can publish to a queue the service consumes send a message with malformed cloudEvents headers. The unhandled exception stops the application, and the message is redelivered on every restart, leaving the service in a permanent crash-loop.","category":"package","who_cares":["motor.net","dotnet","cloudevents","message-queue"],"confidence":0.7,"needs_auth":"unknown","worst_case":"service stops and crash-loops on restart, causing denial of service","analyst_note":"Check the NVD entry and the Motor.NET 0.19.0 release notes to confirm affected consumers and whether any publisher authentication is required.","how_to_check":"unknown","needs_analyst":true,"not_affected_if":["no-untrusted-publishers","not-using-cloudevents-headers"],"user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000494,"input_tokens":3010,"output_tokens":386,"severity_before":"high"},"analyst_status":"done","analyst_note":"Check the NVD entry and the Motor.NET 0.19.0 release notes to confirm affected consumers and whether any publisher authentication is required.","search":"'-112330':11A,14A '-2026':10A,13A '-755':109B '0.19.0':32B,118C '7.5':106B '8.7':104B 'alex':112B 'allow':126C 'anyon':90B 'applic':187C 'attack':129C,150C 'attribut':59B,168C 'caus':185C 'cloudev':16B,44B,47B,62B,148C,155C,171C 'consum':99B,135C 'contain':119C 'craft':2A,147C 'crash':5A,83B,138C,204C 'crash-loop':82B,203C 'cve':9A,12A 'cvss':103B 'cwe':108B 'denial':18B,121C 'denial-of-servic':17B 'dotnet':21B 'doubl':52B,160C 'double-quot':51B,159C 'except':36B,177C 'extractcloudev':38B,179C 'fatal':69B,184C 'gdatasoftwareag/motornet':30B 'header':4A,45B,149C,162C 'host':65B 'invalid':46B,154C 'lone':50B 'loop':84B,205C 'malform':43B 'messag':3A,23B,41B,74B,87B,145C,193C 'message-queu':22B 'motor.net':1A,15A,25B,29B,116C 'motorvers':48B,156C 'nuget':26B 'packag':27B 'pellera':114B 'perman':8A,141C,202C 'publish':93B,132C 'queue':24B,96B,136C 'quot':53B,161C 'rabbitmq':28B 'redeliv':76B,196C 'remot':128C 'remov':89B 'report':110B 'restart':78B,198C 'result':199C 'send':143C 'servic':7A,20B,81B,98B,123C,140C 'singl':158C 'stop':71B,189C 'suppli':152C 'technolog':115B 'throw':33B 'time':63B,172C 'treat':66B,182C 'trigger':101B,174C 'type':58B,167C 'unacknowledg':73B,192C 'unhandl':35B,176C 'unpars':57B,166C 'v3.1':107B 'v4':105B 'valu':54B,163C 'vulner':124C 'william':113B","nicknames":[],"mitigations":[],"who_affected":null,"tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-22T20:17:05+00:00","kev":null,"cvss_vector":"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-112330","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-112330","severity":null,"published_at":"2026-10-22T20:17:05+00:00","modified_at":"2026-10-23T21:17:21+00:00","first_seen_at":"2026-10-23T21:57:32+00:00","fetched_at":"2026-10-23T22:29:03+00:00","note":null},{"source":"analyst","external_id":"CVE-2026-112330:487","url":null,"severity":null,"published_at":"2026-10-23T23:38:42+00:00","modified_at":"2026-10-23T23:38:42+00:00","first_seen_at":"2026-10-23T23:38:42+00:00","fetched_at":"2026-10-23T23:38:42+00:00","note":"VulnCheck advisory + CVE record + v0.19.0 release read. No auth needed in Motor.NET itself: attacker needs publish access to a consumed queue. Not exploited, no public PoC found. No social search done. Sibling CVEs CVE-2026-112331 (Kafka) and -112332 (JsonNet) also fixed in 0.19.0."},{"source":"epss","external_id":"CVE-2026-112330","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-112330","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-24T07:15:51+00:00","fetched_at":"2026-10-25T12:38:51+00:00","note":null}],"documents":[{"id":2082,"url":"https://www.vulncheck.com/advisories/motor-net-rabbitmq-denial-of-service-via-cloudevents-headers","title":"VulnCheck: Motor.NET < 0.19.0 RabbitMQ DoS via CloudEvents Headers","kind":"advisory","source":"analyst","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":null},{"id":2083,"url":"https://github.com/GDATASoftwareAG/motornet/releases/tag/v0.19.0","title":"Motor.NET v0.19.0 release notes (fix shutdowns due to invalid CloudEvent envelopes)","kind":"release","source":"analyst","text":null,"published_at":null,"relation":"fix","confidence":null,"note":null},{"id":2084,"url":"https://www.cve.org/CVERecord?id=CVE-2026-112330","title":"CVE Record CVE-2026-112330","kind":"advisory","source":"analyst","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":null}],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}