{
  "affected": [
    {
      "ranges": [
        {
          "events": [
            {
              "introduced": "32fe5e393455d87db4988af03915634304870fb4"
            },
            {
              "fixed": "c85e8331d298b8f1dee8fe63718e76435cec7133"
            },
            {
              "fixed": "e2d62928f2666a2964a23b1d39e6e762f0628d7b"
            },
            {
              "fixed": "db9d3be156baca6ef80ae5d93acfeb85c61a74dd"
            },
            {
              "fixed": "8a0200d14acd9db388b85cd016e68a4e60d900ec"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Linux",
        "name": "Kernel"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "2.6.27"
            },
            {
              "fixed": "6.12.113"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.13.0"
            },
            {
              "fixed": "6.18.56"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.19.0"
            },
            {
              "fixed": "7.2.10"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "database_specific": {
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98771.json"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nusb: storage: sierra_ms: reject short SWoC info transfers\n\nsierra_get_swoc_info() requests sizeof(struct swoc_info) (60) bytes\nfrom the device via usb_control_msg(), but its callers only treat a\nnegative return value as failure. A device that answers the\nvendor-specific GetSwocInfo request with a short IN transfer is\ntherefore accepted, leaving the tail of the freshly allocated\n(kmalloc(), non-zeroing) swoc_info buffer uninitialized.\n\ntruinst_show() subsequently prints swocInfo-\u003erev, swocInfo-\u003eLinuxSKU\nand swocInfo-\u003eLinuxVer from that buffer into the world-readable\n(0444) \"truinst\" sysfs attribute. An emulated/malicious USB device\n(VID 0x1199, PID 0x0fff) can exploit this to disclose up to 5 bytes\nof stale kernel heap memory (kmalloc-64) to unprivileged userspace,\nonce per sysfs read, indefinitely. On kernels built without\ninit_on_alloc this leaks recently freed heap contents.\n\nOnly accept the transfer when the full structure was received.\nsierra_ms_init() already retries failed queries, so well-behaved\ndevices are unaffected.",
  "id": "CVE-2026-98771",
  "modified": "2026-10-20T02:30:25.029274769Z",
  "published": "2026-10-18T15:48:07.367Z",
  "references": [
    {
      "type": "PACKAGE",
      "url": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/8a0200d14acd9db388b85cd016e68a4e60d900ec"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/c85e8331d298b8f1dee8fe63718e76435cec7133"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/db9d3be156baca6ef80ae5d93acfeb85c61a74dd"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/e2d62928f2666a2964a23b1d39e6e762f0628d7b"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98771.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-98771"
    }
  ],
  "schema_version": "1.9.0",
  "summary": "usb: storage: sierra_ms: reject short SWoC info transfers"
}