Linux Kernel up to 6.17.2 lib/crc-itu-t.c udf_update_tag use after free

CVSS Meta Temp Score
CVSS is a standardized scoring system to determine possibilities of attacks. The Temp Score considers temporal factors like disclosure, exploit and countermeasures. The unique Meta Score calculates the average score of different sources to provide a normalized scoring system.
Current Exploit Price (≈)
Our analysts are monitoring exploit markets and are in contact with vulnerability brokers. The range indicates the observed or calculated exploit price to be seen on exploit markets. A good indicator to understand the monetary effort required for and the popularity of an attack.
CTI Interest Score
Our Cyber Threat Intelligence team is monitoring different web sites, mailing lists, exploit markets and social media networks. The CTI Interest Score identifies the interest of attackers and the security community for this specific vulnerability in real-time. A high score indicates an elevated risk to be targeted for this vulnerability.
7.6$0-$5k0.00

Summaryinfo

A vulnerability was found in Linux Kernel up to 5.15.194/6.1.155/6.6.111/6.12.52/6.17.2. It has been rated as critical. Impacted is the function udf_update_tag in the library lib/crc-itu-t.c. Performing a manipulation results in use after free. This vulnerability is known as CVE-2025-40044. No exploit is available. Upgrading the affected component is advised.

Detailsinfo

A vulnerability was found in Linux Kernel up to 5.15.194/6.1.155/6.6.111/6.12.52/6.17.2. It has been classified as critical. This affects the function udf_update_tag in the library lib/crc-itu-t.c. The manipulation with an unknown input leads to a use after free vulnerability. CWE is classifying the issue as CWE-416. Referencing memory after it has been freed can cause a program to crash, use unexpected values, or execute code. This is going to have an impact on confidentiality, integrity, and availability. The summary by CVE is:

In the Linux kernel, the following vulnerability has been resolved: fs: udf: fix OOB read in lengthAllocDescs handling When parsing Allocation Extent Descriptor, lengthAllocDescs comes from on-disk data and must be validated against the block size. Crafted or corrupted images may set lengthAllocDescs so that the total descriptor length (sizeof(allocExtDesc) + lengthAllocDescs) exceeds the buffer, leading udf_update_tag() to call crc_itu_t() on out-of-bounds memory and trigger a KASAN use-after-free read. BUG: KASAN: use-after-free in crc_itu_t+0x1d5/0x2b0 lib/crc-itu-t.c:60 Read of size 1 at addr ffff888041e7d000 by task syz-executor317/5309 CPU: 0 UID: 0 PID: 5309 Comm: syz-executor317 Not tainted 6.12.0-rc4-syzkaller-00261-g850925a8133c #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Call Trace: <TASK> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:377 [inline] print_report+0x169/0x550 mm/kasan/report.c:488 kasan_report+0x143/0x180 mm/kasan/report.c:601 crc_itu_t+0x1d5/0x2b0 lib/crc-itu-t.c:60 udf_update_tag+0x70/0x6a0 fs/udf/misc.c:261 udf_write_aext+0x4d8/0x7b0 fs/udf/inode.c:2179 extent_trunc+0x2f7/0x4a0 fs/udf/truncate.c:46 udf_truncate_tail_extent+0x527/0x7e0 fs/udf/truncate.c:106 udf_release_file+0xc1/0x120 fs/udf/file.c:185 __fput+0x23f/0x880 fs/file_table.c:431 task_work_run+0x24f/0x310 kernel/task_work.c:239 exit_task_work include/linux/task_work.h:43 [inline] do_exit+0xa2f/0x28e0 kernel/exit.c:939 do_group_exit+0x207/0x2c0 kernel/exit.c:1088 __do_sys_exit_group kernel/exit.c:1099 [inline] __se_sys_exit_group kernel/exit.c:1097 [inline] __x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1097 x64_sys_call+0x2634/0x2640 arch/x86/include/generated/asm/syscalls_64.h:232 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f </TASK> Validate the computed total length against epos->bh->b_size. Found by Linux Verification Center (linuxtesting.org) with Syzkaller.

The advisory is shared at git.kernel.org. This vulnerability is uniquely identified as CVE-2025-40044 since 04/16/2025. The exploitability is told to be easy. Technical details are known, but no exploit is available. The price for an exploit might be around USD $0-$5k at the moment (estimation calculated on 05/20/2026).

The vulnerability scanner Nessus provides a plugin with the ID 271911 (Linux Distros Unpatched Vulnerability : CVE-2025-40044), which helps to determine the existence of the flaw in a target environment.

Upgrading to version 5.15.195, 6.1.156, 6.6.112, 6.12.53, 6.17.3 or 6.18-rc1 eliminates this vulnerability. Applying the patch 1d1847812a1a5375c10a2a779338df643f79c047/918649364fbca7d5df72522ca795479edcd25f91/a70dcfa8d0a0cc530a6af59483dfca260b652c1b/b57f2d7d3e6bb89ed82330c5fe106cdfa34d3e24/459404f858213967ccfff336c41747d8dd186d38/3bd5e45c2ce30e239d596becd5db720f7eb83c99 is able to eliminate this problem. The bugfix is ready for download at git.kernel.org. The best possible mitigation is suggested to be upgrading to the latest version.

The vulnerability is also documented in the databases at Tenable (271911) and CERT Bund (WID-SEC-2025-2431). Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Affected

  • Google Container-Optimized OS
  • Debian Linux
  • Amazon Linux 2
  • Red Hat Enterprise Linux
  • Ubuntu Linux
  • SUSE Linux
  • Oracle Linux
  • IBM QRadar SIEM
  • SUSE openSUSE
  • Open Source Linux Kernel
  • RESF Rocky Linux
  • Microsoft Azure
  • Dell NetWorker
  • Dell ECS

Productinfo

Type

Vendor

Name

Version

License

Website

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔒
VulDB Reliability: 🔍

CVSSv3info

VulDB Meta Base Score: 8.0
VulDB Meta Temp Score: 7.6

VulDB Base Score: 8.0
VulDB Temp Score: 7.6
VulDB Vector: 🔒
VulDB Reliability: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplexityAuthenticationConfidentialityIntegrityAvailability
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock

VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍

Exploitinginfo

Class: Use after free
CWE: CWE-416 / CWE-119
CAPEC: 🔒
ATT&CK: 🔒

Physical: No
Local: No
Remote: Partially

Availability: 🔒
Status: Not defined

EPSS Score: 🔒
EPSS Percentile: 🔒

Price Prediction: 🔍
Current Price Estimation: 🔒

0-DayUnlockUnlockUnlockUnlock
TodayUnlockUnlockUnlockUnlock

Nessus ID: 271911
Nessus Name: Linux Distros Unpatched Vulnerability : CVE-2025-40044

Threat Intelligenceinfo

Interest: 🔍
Active Actors: 🔍
Active APT Groups: 🔍

Countermeasuresinfo

Recommended: Upgrade
Status: 🔍

0-Day Time: 🔒

Upgrade: Kernel 5.15.195/6.1.156/6.6.112/6.12.53/6.17.3/6.18-rc1
Patch: 1d1847812a1a5375c10a2a779338df643f79c047/918649364fbca7d5df72522ca795479edcd25f91/a70dcfa8d0a0cc530a6af59483dfca260b652c1b/b57f2d7d3e6bb89ed82330c5fe106cdfa34d3e24/459404f858213967ccfff336c41747d8dd186d38/3bd5e45c2ce30e239d596becd5db720f7eb83c99

Timelineinfo

04/16/2025 CVE reserved
10/28/2025 +195 days Advisory disclosed
10/28/2025 +0 days VulDB entry created
05/20/2026 +203 days VulDB entry last update

Sourcesinfo

Vendor: kernel.org

Advisory: git.kernel.org
Status: Confirmed

CVE: CVE-2025-40044 (🔒)
GCVE (CVE): GCVE-0-2025-40044
GCVE (VulDB): GCVE-100-330225
CERT Bund: WID-SEC-2025-2431 - Linux Kernel: Mehrere Schwachstellen

Entryinfo

Created: 10/28/2025 14:16
Updated: 05/20/2026 01:45
Changes: 10/28/2025 14:16 (59), 10/29/2025 04:33 (1), 10/29/2025 09:30 (2), 10/30/2025 03:40 (7), 10/30/2025 13:29 (1), 11/24/2025 15:14 (1), 12/22/2025 00:54 (1), 02/08/2026 16:45 (1), 02/15/2026 19:08 (1), 05/20/2026 01:45 (1)
Complete: 🔍
Cache ID: 216::103

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Discussion

No comments yet. Languages: en.

Please log in to comment.

Want to know what is going to be exploited?

We predict KEV entries!