{"schemaVersion":3,"id":"CVE-2026-48502","aliases":["GHSA-382j-8mxh-c7x2"],"status":"published","duplicateOf":null,"title":null,"description":"MessagePack for C# is a MessagePack serializer for C#. Prior to 2.5.301 and 3.1.7, MessagePackReader.ReadDateTime() can allocate stack memory based on an attacker-controlled MessagePack extension length. In the slow path for timestamp extension parsing, the computed tokenSize includes the extension body length from the wire and is used in a stackalloc operation before the extension length is validated as one of the valid timestamp sizes. A very small payload can claim a large timestamp extension body and cause a stack allocation large enough to trigger an uncatchable StackOverflowException, terminating the host process. This vulnerability is fixed in 2.5.301 and 3.1.7.","dates":{"published":"2026-06-22T21:18:29.190Z","modified":"2026-06-23T15:05:33.595Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":8.2,"severity":"high","version":"4.0","versionLabel":"v4.0","source":"CVE.org","vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"4.0","versionLabel":"v4.0","source":"CVE.org","score":8.2,"severity":"high","vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","exploitability":null,"impact":null,"computed":false},{"version":"4.0","versionLabel":"v4.0","source":"OSV · Nuget","score":8.2,"severity":"high","vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","exploitability":null,"impact":null,"computed":true},{"version":"4.0","versionLabel":"v4.0","source":"NVD","score":8.2,"severity":"high","vector":"CVSS:4.0/AV:N/AC:H/AT:P/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","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00437,"percentile":0.36706,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.00437},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00437,"percentile":0.36706}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00437,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00437,"percentile":0.36706}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-125","name":"Out-of-bounds Read","description":"The product reads data past the end, or before the beginning, of the intended buffer.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/125.html"},{"id":"CWE-190","name":"Integer Overflow or Wraparound","description":"The product performs a calculation that can\n         produce an integer overflow or wraparound when the logic\n         assumes that the resulting value will always be larger than\n         the original value. This occurs when an integer value is\n         incremented to a value that is too large to store in the\n         associated representation. When this occurs, the value may\n         become a very small or negative number.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"Medium","url":"https://cwe.mitre.org/data/definitions/190.html"},{"id":"CWE-407","name":"Inefficient Algorithmic Complexity","description":"An algorithm in a product has an inefficient worst-case computational complexity that may be detrimental to system performance and can be triggered by an attacker, typically using crafted manipulations that ensure that the worst case is being reached.","type":"weakness","status":"Incomplete","abstraction":"Class","likelihoodOfExploit":"Low","url":"https://cwe.mitre.org/data/definitions/407.html"},{"id":"CWE-409","name":"Improper Handling of Highly Compressed Data (Data Amplification)","description":"The product does not handle or incorrectly handles a compressed input with a very high compression ratio that produces a large output.","type":"weakness","status":"Incomplete","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/409.html"},{"id":"CWE-470","name":"Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')","description":"The product uses external input with reflection to select which classes or code to use, but it does not sufficiently prevent the input from selecting improper classes or code.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/470.html"},{"id":"CWE-502","name":"Deserialization of Untrusted Data","description":"The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":"Medium","url":"https://cwe.mitre.org/data/definitions/502.html"},{"id":"CWE-674","name":"Uncontrolled Recursion","description":"The product does not properly control the amount of recursion that takes place,  consuming excessive resources, such as allocated memory or the program stack.","type":"weakness","status":"Draft","abstraction":"Class","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/674.html"},{"id":"CWE-789","name":"Memory Allocation with Excessive Size Value","description":"The product allocates memory based on an untrusted, large size value, but it does not ensure that the size is within expected limits, allowing arbitrary amounts of memory to be allocated.","type":"weakness","status":"Draft","abstraction":"Variant","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/789.html"},{"id":"CWE-1188","name":"Initialization of a Resource with an Insecure Default","description":"The product initializes or sets a resource with a default that is intended to be changed by the product's installer, administrator, or maintainer, but the default is not secure.","type":"weakness","status":"Incomplete","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/1188.html"}],"affected":[{"vendor":"messagepack-csharp","product":"messagepack-csharp","name":"MessagePack-CSharp","label":"messagepack-csharp","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 3.1.7, < 3.1.7","noFixRecorded":false,"fixedIn":null},{"text":"< 2.5.301","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 3.1.7, < 3.1.7 | < 2.5.301","eol":null,"hubHref":"/vendor/messagepack-csharp/messagepack-csharp"},{"vendor":"messagepack","product":"messagepack","name":"messagepack","label":"messagepack","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 2.5.301","noFixRecorded":false,"fixedIn":null},{"text":"≥ 3.0.3, < 3.1.7","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.5.301 | ≥ 3.0.3, < 3.1.7","eol":null,"hubHref":"/vendor/messagepack/messagepack"},{"vendor":"NuGet","product":"MessagePack","name":"MessagePack","label":"MessagePack","ecosystem":"NuGet","cpePart":null,"purl":"pkg:nuget/MessagePack","purlType":"nuget","versions":[{"text":"≥ 3.0, < 3.1.7","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 3.0, < 3.1.7","eol":null,"hubHref":null}],"affectedCount":3,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/MessagePack-CSharp/MessagePack-CSharp/security/advisories/GHSA-382j-8mxh-c7x2","label":"github.com/MessagePack-CSharp/MessagePack-CSharp/security/advisories/GHSA-382j-8mxh-c7x2","hostname":"github.com","tags":["X Refsource CONFIRM","WEB","Mitigation","Vendor Advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-48502","label":"nvd.nist.gov/vuln/detail/CVE-2026-48502","hostname":"nvd.nist.gov","tags":["Advisory"]},{"url":"https://github.com/MessagePack-CSharp/MessagePack-CSharp","label":"github.com/MessagePack-CSharp/MessagePack-CSharp","hostname":"github.com","tags":["PACKAGE"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-06-22T21:18:29.190Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-06-23T15:05:33.595Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":33,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T13:36:54.320Z","stale":false,"partial":false}}