{"id":"CVE-2026-98831","title":"of/overlay: don't leak fragment references when changeset init fails","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nof/overlay: don't leak fragment references when changeset init fails\n\ninit_overlay_changeset() stores the number of initialized fragments\nin ovcs->count only on full su…","severity":"none","vendor":"Linux","product":"Linux","affected":["Linux >= 61b4de4e0b384f4a22c55c3bada604da49cec4e1 < 894573e2fdaeb1b15030b7eebc22615edf28a6cd","Linux >= 61b4de4e0b384f4a22c55c3bada604da49cec4e1 < 7a46f1917b320cc8762183b802301da02a191b6a","Linux >= 61b4de4e0b384f4a22c55c3bada604da49cec4e1 < 3a23fb158ba517b77a2e5258263bdfdaa480f758","Linux >= 61b4de4e0b384f4a22c55c3bada604da49cec4e1 < 1d62f0f2bc7edb12ed09f71203df0e47fa4efca4","Linux 4.15"],"published":"2026-10-18","updated":"2026-10-18","sourceUpdated":"2026-10-18T15:49:32.909Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-98831","references":[{"url":"https://git.kernel.org/stable/c/894573e2fdaeb1b15030b7eebc22615edf28a6cd"},{"url":"https://git.kernel.org/stable/c/7a46f1917b320cc8762183b802301da02a191b6a"},{"url":"https://git.kernel.org/stable/c/3a23fb158ba517b77a2e5258263bdfdaa480f758"},{"url":"https://git.kernel.org/stable/c/1d62f0f2bc7edb12ed09f71203df0e47fa4efca4"}],"tags":["cve.org"],"ingestedAt":"2026-10-18T16:47:32.471Z","slug":"CVE-2026-98831","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nof/overlay: don't leak fragment references when changeset init fails\n\ninit_overlay_changeset() stores the number of initialized fragments\nin ovcs->count only on full success. When find_target() or the\n__symbols__ lookup fails partway through, the target and overlay\nreferences taken for the fragments initialized so far are never\ndropped: free_overlay_changeset() bounds its cleanup loop by\novcs->count, which is still 0.\n\nStore the running count on the error path so free_overlay_changeset()\nputs whatever was set up. The store is guarded by ovcs->fragments\nbecause on the allocation-failure path cnt still holds the counting\npass total while there is no fragments array; everywhere else cnt\nonly counts fully-initialized fragments.\n\n## Affected\n\n- `Linux >= 61b4de4e0b384f4a22c55c3bada604da49cec4e1 < 894573e2fdaeb1b15030b7eebc22615edf28a6cd`\n- `Linux >= 61b4de4e0b384f4a22c55c3bada604da49cec4e1 < 7a46f1917b320cc8762183b802301da02a191b6a`\n- `Linux >= 61b4de4e0b384f4a22c55c3bada604da49cec4e1 < 3a23fb158ba517b77a2e5258263bdfdaa480f758`\n- `Linux >= 61b4de4e0b384f4a22c55c3bada604da49cec4e1 < 1d62f0f2bc7edb12ed09f71203df0e47fa4efca4`\n- `Linux 4.15`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}