{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-45991","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-05-13T15:03:33.091Z","datePublished":"2026-05-27T12:55:43.449Z","dateUpdated":"2026-08-05T12:29:03.928Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T12:29:03.928Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nudf: fix partition descriptor append bookkeeping\n\nMounting a crafted UDF image with repeated partition descriptors can\ntrigger a heap out-of-bounds write in part_descs_loc[].\n\nhandle_partition_descriptor() deduplicates entries by partition number,\nbut appended slots never record partnum. As a result duplicate\nPartition Descriptors are appended repeatedly and num_part_descs keeps\ngrowing.\n\nOnce the table is full, the growth path still sizes the allocation from\npartnum even though inserts are indexed by num_part_descs. If partnum is\nalready aligned to PART_DESC_ALLOC_STEP, ALIGN(partnum, step) can keep\nthe old capacity and the next append writes past the end of the table.\n\nStore partnum in the appended slot and size growth from the next append\ncount so deduplication and capacity tracking follow the same model."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The bug is in mount-time on-disk parsing, reachable locally via loop-device mounts or removable-media handling (e.g. udisks2), not over any network protocol.\nAC:L - The out-of-bounds write is deterministic for a crafted image with repeated partition descriptors at a 32-aligned partnum; no race or attacker-uncontrollable condition is involved.\nPR:L - Direct mount needs CAP_SYS_ADMIN, but on typical workstations/kiosks an unprivileged local user can get a crafted UDF image mounted through privileged auto-mount/udisks2 helpers, so low privilege suffices.\nUI:N - The attacker supplies and triggers the mount of their own crafted image; no action by a separate victim user is required.\nS:U - The corruption stays within the kernel's own security authority; there is no cross-boundary (VM/IOMMU) escape.\nC:H - A controlled heap out-of-bounds write corrupts adjacent heap objects and can be leveraged (e.g. corrupting length/pointer fields) into an arbitrary read and information disclosure.\nI:H - The bug is a heap out-of-bounds write of attacker-influenced values at attacker-reachable offsets — a write primitive exploitable for further corruption and control-flow hijack.\nA:H - Heap metadata/object corruption from the out-of-bounds write reliably leads to a kernel oops/panic."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/udf/super.c"],"versions":[{"version":"ee4af50ca94f58afc3532662779b9cf80bbe27c8","lessThan":"ad3c0c4400686f6f37b382aaa48fac2b9aefccbe","status":"affected","versionType":"git"},{"version":"ee4af50ca94f58afc3532662779b9cf80bbe27c8","lessThan":"68013a9bd4c01acd42073715f00e1a1992f089ee","status":"affected","versionType":"git"},{"version":"ee4af50ca94f58afc3532662779b9cf80bbe27c8","lessThan":"e8474cfbac9ada2cdaa4eaedec22aadfa0f58559","status":"affected","versionType":"git"},{"version":"ee4af50ca94f58afc3532662779b9cf80bbe27c8","lessThan":"058b451b1039f056d1362c4fec2229e522366ab0","status":"affected","versionType":"git"},{"version":"ee4af50ca94f58afc3532662779b9cf80bbe27c8","lessThan":"b5597bb83fc37b5b5da74a4453fa920b932cf39a","status":"affected","versionType":"git"},{"version":"ee4af50ca94f58afc3532662779b9cf80bbe27c8","lessThan":"08fa5d818e5bf53c7ca234d88ba334f32004e9b6","status":"affected","versionType":"git"},{"version":"ee4af50ca94f58afc3532662779b9cf80bbe27c8","lessThan":"08841b06fa64d8edbd1a21ca6e613420c90cc4b8","status":"affected","versionType":"git"},{"version":"7f401f160a9c7a1ff84ba3cb9b2f636d1f5cfb6b","status":"affected","versionType":"git"},{"version":"4.18.7","lessThan":"4.19","status":"affected","versionType":"semver"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/udf/super.c"],"versions":[{"version":"4.19","status":"affected"},{"version":"0","lessThan":"4.19","status":"unaffected","versionType":"semver"},{"version":"5.10.259","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.210","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.176","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.140","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.88","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"7.0.4","lessThanOrEqual":"7.0.*","status":"unaffected","versionType":"semver"},{"version":"7.1","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"5.10.259"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"5.15.210"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"6.1.176"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"6.6.140"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"6.12.88"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"7.0.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"7.1"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.18.7"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/ad3c0c4400686f6f37b382aaa48fac2b9aefccbe"},{"url":"https://git.kernel.org/stable/c/68013a9bd4c01acd42073715f00e1a1992f089ee"},{"url":"https://git.kernel.org/stable/c/e8474cfbac9ada2cdaa4eaedec22aadfa0f58559"},{"url":"https://git.kernel.org/stable/c/058b451b1039f056d1362c4fec2229e522366ab0"},{"url":"https://git.kernel.org/stable/c/b5597bb83fc37b5b5da74a4453fa920b932cf39a"},{"url":"https://git.kernel.org/stable/c/08fa5d818e5bf53c7ca234d88ba334f32004e9b6"},{"url":"https://git.kernel.org/stable/c/08841b06fa64d8edbd1a21ca6e613420c90cc4b8"}],"title":"udf: fix partition descriptor append bookkeeping","x_generator":{"engine":"bippy-1.2.0"}}}}