Skip to content
Heist/ feed
Back to feed
Medium

MessagePack-CSharp: Unity unsafe blit formatter allocates from unbounded byte length

Type: advisorySources: OSV

MessagePack for C# is a MessagePack serializer for C#. Prior to 2.5.301 and 3.1.7, UnsafeBlitFormatterBase.Deserialize reads an attacker-controlled byteLength from an extension payload and allocates an array based on that value before validating it against the extension header length or remaining payload bytes. The outer extension header is bounded by available input, but that bound is not used to constrain the inner byteLength before allocation. A very small payload can therefore request a very large T[] allocation. This vulnerability is fixed in 2.5.301 and 3.1.7.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-48514
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 18:42 UTC · Revision 1

Source evidence

MessagePack-CSharp: Unity unsafe blit formatter allocates from unbounded byte length

core-osv · Original source

Published 22 Jun 2026, 21:11 UTC

MessagePack for C# is a MessagePack serializer for C#. Prior to 2.5.301 and 3.1.7, UnsafeBlitFormatterBase.Deserialize reads an attacker-controlled byteLength from an extension payload and allocates an array based on that value before validating it against the extension header length or remaining payload bytes. The outer extension header is bounded by available input, but that bound is not used to constrain the inner byteLength before allocation. A very small payload can therefore request a very large T[] allocation. This vulnerability is fixed in 2.5.301 and 3.1.7.

osv:CVE-2026-48514
Complete source record
{
  "id": "208f0a789acc4a3676ffadb8b3db251af7fdfb0ff3cf9f3eff99f90b22e12679",
  "url": "https://osv.dev/vulnerability/CVE-2026-48514",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "MessagePack-CSharp: Unity unsafe blit formatter allocates from unbounded byte length",
    "summary": "MessagePack for C# is a MessagePack serializer for C#. Prior to 2.5.301 and 3.1.7, UnsafeBlitFormatterBase.Deserialize reads an attacker-controlled byteLength from an extension payload and allocates an array based on that value before validating it against the extension header length or remaining payload bytes. The outer extension header is bounded by available input, but that bound is not used to constrain the inner byteLength before allocation. A very small payload can therefore request a very large T[] allocation. This vulnerability is fixed in 2.5.301 and 3.1.7.",
    "evidence": "osv:CVE-2026-48514",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-48514",
      "aliases": [
        "CVE-2026-48514",
        "GHSA-w567-gjr2-hm5j"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/messagepack-csharp/messagepack-csharp",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "5657b1e34ea2869a2ca6bc0aa6617158620201ba"
                },
                {
                  "introduced": "ff3af77f546138d9da71707baddf2c30f55dfc15"
                },
                {
                  "fixed": "1b53ae8b7681340199faf337bcbb0eb5aed702de"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:messagepack:messagepack:*:*:*:*:*:c\\#:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "2.5.301"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:messagepack:messagepack:*:*:*:*:*:c\\#:*:*",
                    "range": [
                      {
                        "introduced": "3.0.3"
                      },
                      {
                        "fixed": "3.1.7"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v3.1.6",
            "v3.1.5",
            "v2.5.198",
            "v3.1.4",
            "v3.1.3",
            "v3.1.2",
            "v3.1.1",
            "v3.1.0",
            "v3.0.301",
            "v3.0.300",
            "v3.0.3",
            "v2.5.192",
            "v2.5.187",
            "v2.5.172",
            "v2.5.171",
            "v2.5.168",
            "v2.5.140",
            "v2.5.129",
            "v2.5.108",
            "v2.5.124",
            "v2.5.103",
            "v2.4.59",
            "v2.5.94",
            "v2.4.35",
            "v2.4.23-alpha",
            "v2.3.85",
            "v2.1.115",
            "v2.3.75",
            "v2.2.113",
            "v2.2.85",
            "v2.2.60",
            "v2.1.194",
            "v2.1.165",
            "v2.1.152",
            "v2.1.143",
            "v2.1.90",
            "v2.1.80",
            "v2.0.270-rc",
            "v2.0.204-beta",
            "v2.0.123-beta",
            "v2.0.119-beta",
            "v2.0.110-alpha",
            "v2.0.94-alpha",
            "v1.7.3.4",
            "v1.7.3.3",
            "v1.7.3.2",
            "v1.7.3.1",
            "v1.7.3",
            "v1.7.2",
            "v1.7.0",
            "v1.6.2",
            "v1.6.1.2",
            "v1.6.1",
            "v1.6.0",
            "v1.5.1",
            "v1.5.0",
            "v1.4.4",
            "v1.4.2",
            "v1.4.1",
            "v1.4.0",
            "v1.3.3",
            "v1.3.2",
            "v1.3.1",
            "v1.3.0",
            "v1.2.3",
            "v1.2.1",
            "v1.2.0",
            "v1.1.2",
            "v1.1.1",
            "v1.0.3",
            "v1.0.2",
            "1.0.1",
            "0.2.0-beta",
            "0.1.0-beta"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-48514.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:38.272580709Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48514.json",
        "https://github.com/MessagePack-CSharp/MessagePack-CSharp/security/advisories/GHSA-w567-gjr2-hm5j",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-48514"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-770"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48514.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-48514",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 505797,
  "published_at": "2026-06-22T21:11:35.224+00:00"
}