{
  "containers": {
    "cna": {
      "providerMetadata": {
        "orgId": "f0158376-9dc2-43b6-827c-5f631a4d8d09"
      },
      "title": "AbstractIoBuffer.resolveClass() null-clazz Branch Skips acceptMatchers Filter \u2014 Full Object Deserialization RCE",
      "problemTypes": [
        {
          "descriptions": [
            {
              "description": "CWE-502 Deserialization of Untrusted Data",
              "lang": "en",
              "cweId": "CWE-502",
              "type": "CWE"
            }
          ]
        }
      ],
      "source": {
        "advisory": "ZDRES-059",
        "discovery": "EXTERNAL"
      },
      "affected": [
        {
          "vendor": "Apache Software Foundation",
          "product": "Apache MINA",
          "collectionURL": "https://repo.maven.apache.org/maven2",
          "packageName": "org.apache.mina:mina-core",
          "versions": [
            {
              "status": "affected",
              "version": "2.2.0",
              "lessThanOrEqual": "2.2.5",
              "versionType": "semver"
            },
            {
              "status": "affected",
              "version": "2.1.0",
              "lessThanOrEqual": "2.1.10",
              "versionType": "semver"
            },
            {
              "status": "affected",
              "version": "2.0.0",
              "lessThanOrEqual": "2.0.27",
              "versionType": "semver"
            }
          ],
          "defaultStatus": "unaffected"
        }
      ],
      "descriptions": [
        {
          "value": "Apache MINA's AbstractIoBuffer.resolveClass() contains two branches, one of them (for static classes or primitive types) does not check the class at all, bypassing the classname allowlist and allowing arbitrary code to be executed.\n\n\n\n\nThe fix checks if the class is present in the accepted class filter\u00a0before calling\u00a0Class.forName().\u00a0\n\n\n\n\n\n\nAffected versions are Apache MINA 2.0.0 <= 2.0.27, 2.1.0 <= 2.1.10, and\n\n\n2.2.0 <= 2.2.5.\n\n\n\n\n\nThe problem is resolved in Apache MINA 2.0.28, 2.1.11, and 2.2.6 by \napplying the classname allowlist earlier.\n\n\n\n\n\nAffected are applications using Apache MINA that call\u00a0 IoBuffer.getObject().\n\n\n\n\n\nApplications using Apache MINA are advised to upgrade.",
          "lang": "en",
          "supportingMedia": [
            {
              "type": "text/html",
              "base64": false,
              "value": "<div>Apache <b>MINA</b>'s <i>AbstractIoBuffer.resolveClass()</i> contains two branches, one of them (for static classes or primitive types) does not check the class at all, bypassing the classname allowlist and allowing arbitrary code to be executed.</div><div><br></div><div>The fix checks if the class is present in the accepted class filter&nbsp;<b>before</b> calling&nbsp;<i>Class.forName()</i>.&nbsp;</div><div><br></div><div></div>Affected versions are Apache MINA 2.0.0 &lt;= 2.0.27, 2.1.0 &lt;= 2.1.10, and\n<br>\n2.2.0 &lt;= 2.2.5.\n<br>\n\n<br>\nThe problem is resolved in Apache MINA 2.0.28, 2.1.11, and 2.2.6 by \napplying the classname allowlist earlier.\n<br>\n\n<br>\nAffected are applications using Apache MINA that call&nbsp; IoBuffer.getObject().\n<br>\n\n<br>\nApplications using Apache MINA are advised to upgrade.<div></div>"
            }
          ]
        }
      ],
      "references": [
        {
          "url": "https://lists.apache.org/thread/1l91w1mqsb3lwfd504fs045ylxntt2tm",
          "tags": [
            "vendor-advisory"
          ]
        }
      ],
      "metrics": [
        {
          "format": "CVSS",
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ],
          "cvssV3_1": {
            "version": "3.1",
            "attackVector": "NETWORK",
            "attackComplexity": "LOW",
            "privilegesRequired": "NONE",
            "userInteraction": "NONE",
            "scope": "UNCHANGED",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "availabilityImpact": "HIGH",
            "baseSeverity": "CRITICAL",
            "baseScore": 9.8,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          }
        }
      ],
      "timeline": [
        {
          "time": "2026-04-17T00:00:00.000Z",
          "lang": "en",
          "value": "Initial reporting"
        }
      ],
      "credits": [
        {
          "lang": "en",
          "value": "Venkatraman Kumar, Securin",
          "type": "reporter"
        }
      ],
      "x_generator": {
        "engine": "Vulnogram 0.2.0"
      }
    }
  },
  "cveMetadata": {
    "cveId": "CVE-2026-41635",
    "assignerOrgId": "f0158376-9dc2-43b6-827c-5f631a4d8d09",
    "serial": 1,
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1"
}