CVE-2026-99180 (GCVE-0-2026-99180)

Vulnerability from cvelistv5 – Published: 2026-10-28 10:35 – Updated: 2026-10-31 12:44
VLAI
Title
unicode: free the map after a grace period
Summary
In the Linux kernel, the following vulnerability has been resolved: unicode: free the map after a grace period generic_ci_d_hash() and generic_ci_d_compare() read sb->s_encoding and dereference the unicode map while a pathwalk in rcu mode holds nothing but rcu_read_lock(). The filesystems that use them, ext4, f2fs and tmpfs, drop the map with utf8_unload() from ->put_super(), which runs when the last reference to the mount goes away. A lookup that is still inside such a filesystem at that point reads a freed map. With a pathwalk held up in utf8_casefold_hash() while the last reference to a casefolded tmpfs goes away: BUG: KASAN: slab-use-after-free in utf8nlookup+0x74c/0x950 Read of size 8 at addr ff110001030fe658 by task walker/98 Call Trace: <TASK> utf8nlookup+0x74c/0x950 utf8byte+0x160/0x1560 utf8_casefold_hash+0x167/0x230 generic_ci_d_hash+0xdd/0x1c0 link_path_walk+0x11ad/0x1d30 path_lookupat+0x63/0xb00 filename_lookup+0x1f1/0x5b0 vfs_statx+0xd7/0x3b0 [...] Allocated by task 94: __kmalloc_cache_noprof+0x249/0x560 utf8_load+0x4e/0x570 shmem_parse_opt_casefold.isra.0+0x92/0x270 [...] Freed by task 97: kfree+0x1db/0x5b0 shmem_put_super+0x72/0x170 generic_shutdown_super+0x14c/0x530 kill_anon_super+0x3a/0x60 deactivate_locked_super+0x9c/0xf0 cleanup_mnt+0x9f/0x130 So far that has been hard to hit. umount(2) waits for a grace period in namespace_unlock() before it drops the mount, so only a mount whose last reference goes away elsewhere, like the close of a file or a chdir out of a lazily unmounted directory, can race a walker. So it is reachable. Delay the free until a grace period has passed. The map and the data table it holds a reference to then outlive any pathwalk that found the superblock before the mount went away. The reference on the data table module is dropped from the rcu callback as well. utf8-core is built in whenever CONFIG_UNICODE is set, so there is no module exit that would have to wait for the callbacks. Overlayfs points the s_encoding of an overlay at the map of its first layer without taking a reference of its own. That stays correct. The layer is held by the overlay, so its map is dropped only after the overlay is gone.
Assigner
Linux CNA under the mitre root
CNA scorecard D 53/100 over 6637 records in the last 180 days details
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: b886ee3e778ec2ad43e276fd378ab492cf6819b7 , < 092e14e1479a39157ca01668d43e4649793f39ed (git)
Affected: b886ee3e778ec2ad43e276fd378ab492cf6819b7 , < 6472455f2b015cad43adb790cb63fe1d3cff2f57 (git)
Affected: b886ee3e778ec2ad43e276fd378ab492cf6819b7 , < f96c2731a105d6663c606388f5dc21781e00ade5 (git)
Affected: b886ee3e778ec2ad43e276fd378ab492cf6819b7 , < 5d7687b0b71601cc32f1bfd62f56cf5eea3e5a07 (git)
Affected: b886ee3e778ec2ad43e276fd378ab492cf6819b7 , < 69a0d6b31d05e856c7335509222f25321e3c69ca (git)
Affected: b886ee3e778ec2ad43e276fd378ab492cf6819b7 , < 2b54d3c971a1e5df3c9b0bcc10311ae6c29e79d8 (git)
Affected: b886ee3e778ec2ad43e276fd378ab492cf6819b7 , < 6560c3d9a6925e3747d9ad8463e16010c31ba715 (git)
Affected: b886ee3e778ec2ad43e276fd378ab492cf6819b7 , < a96c5299bd7305eb984377681eb3222a57376405 (git)
guessed Create a notification for this product.
Linux Linux Affected: 5.2
Unaffected: 0 , < 5.2 (semver)
Unaffected: 5.10.273 , ≤ 5.10.* (semver)
Unaffected: 5.15.224 , ≤ 5.15.* (semver)
Unaffected: 6.1.191 , ≤ 6.1.* (semver)
Unaffected: 6.6.161 , ≤ 6.6.* (semver)
Unaffected: 6.12.115 , ≤ 6.12.* (semver)
Unaffected: 6.18.59 , ≤ 6.18.* (semver)
Unaffected: 7.2.13 , ≤ 7.2.* (semver)
Unaffected: 7.3 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/unicode/utf8-core.c",
            "include/linux/unicode.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "092e14e1479a39157ca01668d43e4649793f39ed",
              "status": "affected",
              "version": "b886ee3e778ec2ad43e276fd378ab492cf6819b7",
              "versionType": "git"
            },
            {
              "lessThan": "6472455f2b015cad43adb790cb63fe1d3cff2f57",
              "status": "affected",
              "version": "b886ee3e778ec2ad43e276fd378ab492cf6819b7",
              "versionType": "git"
            },
            {
              "lessThan": "f96c2731a105d6663c606388f5dc21781e00ade5",
              "status": "affected",
              "version": "b886ee3e778ec2ad43e276fd378ab492cf6819b7",
              "versionType": "git"
            },
            {
              "lessThan": "5d7687b0b71601cc32f1bfd62f56cf5eea3e5a07",
              "status": "affected",
              "version": "b886ee3e778ec2ad43e276fd378ab492cf6819b7",
              "versionType": "git"
            },
            {
              "lessThan": "69a0d6b31d05e856c7335509222f25321e3c69ca",
              "status": "affected",
              "version": "b886ee3e778ec2ad43e276fd378ab492cf6819b7",
              "versionType": "git"
            },
            {
              "lessThan": "2b54d3c971a1e5df3c9b0bcc10311ae6c29e79d8",
              "status": "affected",
              "version": "b886ee3e778ec2ad43e276fd378ab492cf6819b7",
              "versionType": "git"
            },
            {
              "lessThan": "6560c3d9a6925e3747d9ad8463e16010c31ba715",
              "status": "affected",
              "version": "b886ee3e778ec2ad43e276fd378ab492cf6819b7",
              "versionType": "git"
            },
            {
              "lessThan": "a96c5299bd7305eb984377681eb3222a57376405",
              "status": "affected",
              "version": "b886ee3e778ec2ad43e276fd378ab492cf6819b7",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/unicode/utf8-core.c",
            "include/linux/unicode.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.2"
            },
            {
              "lessThan": "5.2",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.273",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.224",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.191",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.161",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.115",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.59",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.13",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.273",
                  "versionStartIncluding": "5.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.224",
                  "versionStartIncluding": "5.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.191",
                  "versionStartIncluding": "5.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.161",
                  "versionStartIncluding": "5.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.115",
                  "versionStartIncluding": "5.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.59",
                  "versionStartIncluding": "5.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.13",
                  "versionStartIncluding": "5.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3",
                  "versionStartIncluding": "5.2",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nunicode: free the map after a grace period\n\ngeneric_ci_d_hash() and generic_ci_d_compare() read sb-\u003es_encoding and\ndereference the unicode map while a pathwalk in rcu mode holds nothing\nbut rcu_read_lock(). The filesystems that use them, ext4, f2fs and\ntmpfs, drop the map with utf8_unload() from -\u003eput_super(), which runs\nwhen the last reference to the mount goes away. A lookup that is still\ninside such a filesystem at that point reads a freed map.\n\nWith a pathwalk held up in utf8_casefold_hash() while the last reference\nto a casefolded tmpfs goes away:\n\n  BUG: KASAN: slab-use-after-free in utf8nlookup+0x74c/0x950\n  Read of size 8 at addr ff110001030fe658 by task walker/98\n  Call Trace:\n   \u003cTASK\u003e\n   utf8nlookup+0x74c/0x950\n   utf8byte+0x160/0x1560\n   utf8_casefold_hash+0x167/0x230\n   generic_ci_d_hash+0xdd/0x1c0\n   link_path_walk+0x11ad/0x1d30\n   path_lookupat+0x63/0xb00\n   filename_lookup+0x1f1/0x5b0\n   vfs_statx+0xd7/0x3b0\n  [...]\n  Allocated by task 94:\n   __kmalloc_cache_noprof+0x249/0x560\n   utf8_load+0x4e/0x570\n   shmem_parse_opt_casefold.isra.0+0x92/0x270\n  [...]\n  Freed by task 97:\n   kfree+0x1db/0x5b0\n   shmem_put_super+0x72/0x170\n   generic_shutdown_super+0x14c/0x530\n   kill_anon_super+0x3a/0x60\n   deactivate_locked_super+0x9c/0xf0\n   cleanup_mnt+0x9f/0x130\n\nSo far that has been hard to hit. umount(2) waits for a grace period\nin namespace_unlock() before it drops the mount, so only a mount whose\nlast reference goes away elsewhere, like the close of a file or a chdir\nout of a lazily unmounted directory, can race a walker. So it is\nreachable.\n\nDelay the free until a grace period has passed. The map and the data\ntable it holds a reference to then outlive any pathwalk that found the\nsuperblock before the mount went away. The reference on the data table\nmodule is dropped from the rcu callback as well. utf8-core is built in\nwhenever CONFIG_UNICODE is set, so there is no module exit that would\nhave to wait for the callbacks.\n\nOverlayfs points the s_encoding of an overlay at the map of its first\nlayer without taking a reference of its own. That stays correct. The\nlayer is held by the overlay, so its map is dropped only after the\noverlay is gone."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - Local statx() pathwalks reach generic_ci_d_hash() and utf8_casefold_hash(), while chdir() and final mount teardown reach shmem_put_super() and the patched utf8_unload(); no network protocol carries the trigger.\nAC:L - After umount2(MNT_DETACH), one attacker can loop Unicode statx() lookups from a retained cwd while a sibling chdir() drops the final mount reference; the attacker controls both sides and can repeatedly retry the race.\nPR:L - shmem_fs_type includes FS_USERNS_MOUNT, so an unprivileged user can mount casefolded tmpfs in their own user/mount namespace and, as inode owner, pass vfs_fileattr_set() to set FS_CASEFOLD_FL.\nUI:N - The same attacker performs the casefolded tmpfs mount, FS_IOC_SETFLAGS, lazy unmount, statx(), and chdir() operations; no victim action is required.\nS:U - The utf8nlookup() use-after-free occurs within the host kernel reached by the local process, and any resulting kernel compromise remains under that same security authority.\nC:H - utf8nlookup() dereferences reclaimed unicode_map tables and ntab[] pointers, including tables-\u003eutf8data and utf8agetab; reclaiming the generic-kmalloc object can turn these stale pointer dereferences into attacker-directed kernel reads.\nI:H - utf8_unload() frees a still-referenced generic-kmalloc unicode_map; attacker-controlled heap reclamation can replace its tables and ntab[] pointers used by utf8nlookup(), making this heap use-after-free exploitable for memory corruption and control-flow hijacking.\nA:H - The demonstrated stale unicode_map dereference in utf8nlookup() produces a KASAN slab-use-after-free, and corrupted tables or ntab[] pointers can cause a kernel oops or panic."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-31T12:44:50.381Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/092e14e1479a39157ca01668d43e4649793f39ed"
        },
        {
          "url": "https://git.kernel.org/stable/c/6472455f2b015cad43adb790cb63fe1d3cff2f57"
        },
        {
          "url": "https://git.kernel.org/stable/c/f96c2731a105d6663c606388f5dc21781e00ade5"
        },
        {
          "url": "https://git.kernel.org/stable/c/5d7687b0b71601cc32f1bfd62f56cf5eea3e5a07"
        },
        {
          "url": "https://git.kernel.org/stable/c/69a0d6b31d05e856c7335509222f25321e3c69ca"
        },
        {
          "url": "https://git.kernel.org/stable/c/2b54d3c971a1e5df3c9b0bcc10311ae6c29e79d8"
        },
        {
          "url": "https://git.kernel.org/stable/c/6560c3d9a6925e3747d9ad8463e16010c31ba715"
        },
        {
          "url": "https://git.kernel.org/stable/c/a96c5299bd7305eb984377681eb3222a57376405"
        }
      ],
      "title": "unicode: free the map after a grace period",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-99180",
    "datePublished": "2026-10-28T10:35:33.578Z",
    "dateReserved": "2026-09-25T10:25:14.399Z",
    "dateUpdated": "2026-10-31T12:44:50.381Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-99180",
      "date": "2026-11-04",
      "epss": "0.0013",
      "percentile": "0.02666"
    },
    "microsoft_vex": {
      "current_release_date": "2026-11-01T14:52:09.000Z",
      "cve": "CVE-2026-99180",
      "id": "msrc_CVE-2026-99180",
      "initial_release_date": "2026-10-29T01:07:45.000Z",
      "product_status:known_affected": "2",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "unicode: free the map after a grace period",
      "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-99180.json",
      "version": "2"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "fs/unicode/utf8-core.c",
                  "include/linux/unicode.h"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "092e14e1479a39157ca01668d43e4649793f39ed",
                    "status": "affected",
                    "version": "b886ee3e778ec2ad43e276fd378ab492cf6819b7",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "6472455f2b015cad43adb790cb63fe1d3cff2f57",
                    "status": "affected",
                    "version": "b886ee3e778ec2ad43e276fd378ab492cf6819b7",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "f96c2731a105d6663c606388f5dc21781e00ade5",
                    "status": "affected",
                    "version": "b886ee3e778ec2ad43e276fd378ab492cf6819b7",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "5d7687b0b71601cc32f1bfd62f56cf5eea3e5a07",
                    "status": "affected",
                    "version": "b886ee3e778ec2ad43e276fd378ab492cf6819b7",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "69a0d6b31d05e856c7335509222f25321e3c69ca",
                    "status": "affected",
                    "version": "b886ee3e778ec2ad43e276fd378ab492cf6819b7",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "2b54d3c971a1e5df3c9b0bcc10311ae6c29e79d8",
                    "status": "affected",
                    "version": "b886ee3e778ec2ad43e276fd378ab492cf6819b7",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "6560c3d9a6925e3747d9ad8463e16010c31ba715",
                    "status": "affected",
                    "version": "b886ee3e778ec2ad43e276fd378ab492cf6819b7",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "a96c5299bd7305eb984377681eb3222a57376405",
                    "status": "affected",
                    "version": "b886ee3e778ec2ad43e276fd378ab492cf6819b7",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "fs/unicode/utf8-core.c",
                  "include/linux/unicode.h"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "5.2"
                  },
                  {
                    "lessThan": "5.2",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.10.*",
                    "status": "unaffected",
                    "version": "5.10.273",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.15.*",
                    "status": "unaffected",
                    "version": "5.15.224",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.1.*",
                    "status": "unaffected",
                    "version": "6.1.191",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.6.*",
                    "status": "unaffected",
                    "version": "6.6.161",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.115",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.59",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.2.*",
                    "status": "unaffected",
                    "version": "7.2.13",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.3",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nunicode: free the map after a grace period\n\ngeneric_ci_d_hash() and generic_ci_d_compare() read sb-\u003es_encoding and\ndereference the unicode map while a pathwalk in rcu mode holds nothing\nbut rcu_read_lock(). The filesystems that use them, ext4, f2fs and\ntmpfs, drop the map with utf8_unload() from -\u003eput_super(), which runs\nwhen the last reference to the mount goes away. A lookup that is still\ninside such a filesystem at that point reads a freed map.\n\nWith a pathwalk held up in utf8_casefold_hash() while the last reference\nto a casefolded tmpfs goes away:\n\n  BUG: KASAN: slab-use-after-free in utf8nlookup+0x74c/0x950\n  Read of size 8 at addr ff110001030fe658 by task walker/98\n  Call Trace:\n   \u003cTASK\u003e\n   utf8nlookup+0x74c/0x950\n   utf8byte+0x160/0x1560\n   utf8_casefold_hash+0x167/0x230\n   generic_ci_d_hash+0xdd/0x1c0\n   link_path_walk+0x11ad/0x1d30\n   path_lookupat+0x63/0xb00\n   filename_lookup+0x1f1/0x5b0\n   vfs_statx+0xd7/0x3b0\n  [...]\n  Allocated by task 94:\n   __kmalloc_cache_noprof+0x249/0x560\n   utf8_load+0x4e/0x570\n   shmem_parse_opt_casefold.isra.0+0x92/0x270\n  [...]\n  Freed by task 97:\n   kfree+0x1db/0x5b0\n   shmem_put_super+0x72/0x170\n   generic_shutdown_super+0x14c/0x530\n   kill_anon_super+0x3a/0x60\n   deactivate_locked_super+0x9c/0xf0\n   cleanup_mnt+0x9f/0x130\n\nSo far that has been hard to hit. umount(2) waits for a grace period\nin namespace_unlock() before it drops the mount, so only a mount whose\nlast reference goes away elsewhere, like the close of a file or a chdir\nout of a lazily unmounted directory, can race a walker. So it is\nreachable.\n\nDelay the free until a grace period has passed. The map and the data\ntable it holds a reference to then outlive any pathwalk that found the\nsuperblock before the mount went away. The reference on the data table\nmodule is dropped from the rcu callback as well. utf8-core is built in\nwhenever CONFIG_UNICODE is set, so there is no module exit that would\nhave to wait for the callbacks.\n\nOverlayfs points the s_encoding of an overlay at the map of its first\nlayer without taking a reference of its own. That stays correct. The\nlayer is held by the overlay, so its map is dropped only after the\noverlay is gone."
          }
        ],
        "id": "CVE-2026-99180",
        "lastModified": "2026-10-31T13:17:58.987",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-10-28T11:17:38.753",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/092e14e1479a39157ca01668d43e4649793f39ed"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/2b54d3c971a1e5df3c9b0bcc10311ae6c29e79d8"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/5d7687b0b71601cc32f1bfd62f56cf5eea3e5a07"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/6472455f2b015cad43adb790cb63fe1d3cff2f57"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/6560c3d9a6925e3747d9ad8463e16010c31ba715"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/69a0d6b31d05e856c7335509222f25321e3c69ca"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/a96c5299bd7305eb984377681eb3222a57376405"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/f96c2731a105d6663c606388f5dc21781e00ade5"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-11-02T15:08:13+00:00",
      "cve": "CVE-2026-99180",
      "id": "CVE-2026-99180",
      "initial_release_date": "2026-10-28T10:35:33.578000+00:00",
      "product_status:known_affected": "78",
      "product_status:known_not_affected": "202",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: kernel: Denial of Service via use-after-free in Unicode subsystem",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-99180.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline

Sightings and recorded dates, grouped by day · UTC

JSON
How durations are calculated

Following the VTEM framework (Black Hat USA 2015), time to patch starts when the vendor or a coordinator was informed, total time to patch at discovery, and disclosure to patch at public disclosure; vendor response time runs from the report to its acknowledgement. Time to exploit and time unpatched start at the earliest discovery or report, falling back to public disclosure. Unpatched time ends at the first recorded patch, or the calculation time when no patch is recorded. Exploitation to patch shows the interval between those two events; a published proof of concept is a public exploit, not exploitation.

Each result shows its source dates. A negative interval means the end event came first; when date-only inputs leave the order open, the result says so. Date-only inputs are approximate. The earliest evidence wins: KEV report dates and sightings are labelled as such. Records describing another vulnerability are listed but never calculated from, and a PoC alone does not establish exploitation. Missing patch evidence does not prove that no patch exists. Filters below change the event list only.

Events included in the timeline

Loading timeline…


    Loading…

    Loading…

    Loading…

    Related by attack behaviour

    Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.