In the Linux kernel, the following vulnerability has been resolved:
padata: Fix refcnt handling in padata_free_shell()
In a high-load arm64 environment, the pcrypt_aead01 test in LTP can lead to system UAF (Use-After-Free) issues. Due to the lengthy analysis of the pcrypt_aead01 function call, I'll describe the problem scenario using a simplified model:
Suppose there's a user of padata named `user_function` that adheres to the padata requirement of calling `padata_free_shell` after `serial()` has been invoked, as demonstrated in the following code:
```c struct request { struct padata_priv padata; struct completion *done; };
void parallel(struct padata_priv *padata) { do_something(); }
void serial(struct padata_priv *padata) { struct request *request = container_of(padata, struct request, padata); complete(request->done); }
void user_function() { DECLARE_COMPLETION(done) padata->parallel = parallel; padata->serial = serial; padata_do_parallel(); wait_for_completion(&done); padata_free_shell(); } ```
In the corresponding padata.c file, there's the following code:
```c static void padata_serial_worker(struct work_struct *serial_work) { ... cnt = 0;
while (!list_empty(&local_list)) { ... padata->serial(padata); cnt++; }
local_bh_enable();
if (refcount_sub_and_test(cnt, &pd->refcnt)) padata_free_pd(pd); } ```
Because of the high system load and the accumulation of unexecuted softirq at this moment, `local_bh_enable()` in padata takes longer to execute than usual. Subsequently, when accessing `pd->refcnt`, `pd` has already been released by `padata_free_shell()`, resulting in a UAF issue with `pd->refcnt`.
The fix is straightforward: add `refcount_dec_and_test` before calling `padata_free_pd` in `padata_free_shell`.
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade perfUpgrade kernel-tools-debuginfoUpgrade kernel-tools-develUpgrade kernel-livepatch-5.15.139-93.147Upgrade kernelUpgrade kernel-livepatch-5.10.201-191.748Upgrade kernel-debuginfoUpgrade kernel-develUpgrade kernel-debuginfo-common-aarch64Upgrade perf-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade bpftoolUpgrade kernel-toolsUpgrade python-perf-debuginfoUpgrade python-perfUpgrade bpftool-debuginfoUpgrade kernel-headers | Dec 12, 2024 | May 21, 2024 |
| Amazon_linux_2023 | — | Upgrade python3-perf-debuginfoUpgrade kernel-libbpf-staticUpgrade bpftoolUpgrade kernel-libbpf-develUpgrade kernel-tools-develUpgrade kernel-debuginfo-common-x86_64Upgrade python3-perfUpgrade kernelUpgrade kernel-develUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-libbpfUpgrade kernel-tools-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-debuginfoUpgrade kernel-modules-extraUpgrade perf-debuginfoUpgrade kernel-livepatch-6.1.66-91.160Upgrade kernel-headersUpgrade perfUpgrade kernel-tools | Feb 17, 2025 | May 21, 2024 |
| Debian | — | Upgrade linux | Jul 30, 2024 | May 21, 2024 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | May 21, 2024 |
| Suse | — | Upgrade dtb-armUpgrade kernel-default-optionalUpgrade dtb-mediatekUpgrade dlm-kmp-defaultUpgrade dtb-apmUpgrade kernel-debug-livepatch-develUpgrade kernel-rt-extraUpgrade cluster-md-kmp-rtUpgrade dtb-xilinxUpgrade kselftests-kmp-rtUpgrade reiserfs-kmp-azureUpgrade kernel-rtUpgrade kernel-rt-livepatchUpgrade kselftests-kmp-defaultUpgrade dtb-amlogicUpgrade dtb-sprdUpgrade kernel-azure-develUpgrade dlm-kmp-azureUpgrade kernel-debug-vdsoUpgrade kernel-rt-livepatch-develUpgrade reiserfs-kmp-rtUpgrade kernel-obs-buildUpgrade kernel-rt_debug-vdsoUpgrade dtb-qcomUpgrade kernel-64kb-develUpgrade kernel-syms-rtUpgrade kernel-default-livepatch-develUpgrade kernel-develUpgrade dlm-kmp-rtUpgrade kernel-devel-rtUpgrade kernel-rt-develUpgrade kernel-default-base-rebuildUpgrade dtb-nvidiaUpgrade cluster-md-kmp-64kbUpgrade dtb-rockchipUpgrade gfs2-kmp-defaultUpgrade kernel-defaultUpgrade cluster-md-kmp-defaultUpgrade kernel-default-baseUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-docsUpgrade kernel-64kb-extraUpgrade kernel-rt_debugUpgrade gfs2-kmp-rtUpgrade ocfs2-kmp-rtUpgrade reiserfs-kmp-64kbUpgrade kernel-azure-vdsoUpgrade kernel-rt_debug-develUpgrade kernel-64kb-optionalUpgrade dtb-appleUpgrade kernel-docs-htmlUpgrade kernel-azure-livepatch-develUpgrade dtb-amdUpgrade dtb-alteraUpgrade kselftests-kmp-64kbUpgrade dtb-hisiliconUpgrade kernel-source-vanillaUpgrade kernel-rt-optionalUpgrade kernel-default-livepatchUpgrade kernel-64kbUpgrade dtb-freescaleUpgrade dtb-socionextUpgrade dtb-amazonUpgrade kselftests-kmp-azureUpgrade kernel-symsUpgrade kernel-debugUpgrade gfs2-kmp-64kbUpgrade kernel-syms-azureUpgrade kernel-kvmsmall-livepatch-develUpgrade ocfs2-kmp-64kbUpgrade kernel-kvmsmall-vdsoUpgrade kernel-default-vdsoUpgrade kernel-default-extraUpgrade kernel-default-develUpgrade kernel-debug-develUpgrade dtb-exynosUpgrade reiserfs-kmp-defaultUpgrade kernel-azure-extraUpgrade kernel-64kb-livepatch-develUpgrade gfs2-kmp-azureUpgrade kernel-zfcpdumpUpgrade kernel-kvmsmallUpgrade kernel-devel-azureUpgrade cluster-md-kmp-azureUpgrade kernel-source-azureUpgrade kernel-obs-qaUpgrade dtb-marvellUpgrade kernel-azureUpgrade kernel-macrosUpgrade dtb-caviumUpgrade kernel-sourceUpgrade ocfs2-kmp-azureUpgrade kernel-kvmsmall-develUpgrade kernel-azure-optionalUpgrade dtb-renesasUpgrade dtb-lgUpgrade dtb-broadcomUpgrade dlm-kmp-64kbUpgrade kernel-rt-vdsoUpgrade kernel-source-rtUpgrade dtb-allwinnerUpgrade ocfs2-kmp-default | Jun 13, 2024 | May 21, 2024 |
| Ubuntu | — | Upgrade linux-image-ibm-lts-20.04Upgrade linux-image-fipsUpgrade linux-image-azure-5.4Upgrade linux-image-gcp-lts-20.04Upgrade linux-image-raspi2Upgrade linux-image-oemUpgrade linux-image-generic-lpaeUpgrade linux-image-aws-lts-20.04Upgrade linux-image-virtualUpgrade linux-image-lowlatency-5.4Upgrade linux-image-snapdragon-5.4Upgrade linux-image-5.4.0-223-lowlatencyUpgrade linux-image-5.4.0-1155-gcpUpgrade linux-image-5.4.0-223-generic-lpaeUpgrade linux-image-kvm-5.4Upgrade linux-image-xilinx-zynqmp-5.4Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.4.0-223-genericUpgrade linux-image-gcp-fipsUpgrade linux-image-aws-fipsUpgrade linux-image-5.4.0-1152-aws-fipsUpgrade linux-image-aws-5.4Upgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-5.4.0-1139-kvmUpgrade linux-image-virtual-5.4Upgrade linux-image-azure-lts-20.04Upgrade linux-image-genericUpgrade linux-image-aws-fips-5.4Upgrade linux-image-5.4.0-1155-gcp-fipsUpgrade linux-image-5.4.0-1150-oracleUpgrade linux-image-ibmUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-5.4.0-1157-azure-fipsUpgrade linux-image-lowlatencyUpgrade linux-image-fips-5.4Upgrade linux-image-virtual-hwe-18.04Upgrade linux-image-gcpUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-raspi-5.4Upgrade linux-image-5.4.0-1156-azureUpgrade linux-image-gcp-fips-5.4Upgrade linux-image-generic-lpae-5.4Upgrade linux-image-generic-5.4Upgrade linux-image-azureUpgrade linux-image-5.4.0-1056-iotUpgrade linux-image-gcp-5.4Upgrade linux-image-5.4.0-1135-raspiUpgrade linux-image-5.4.0-1070-xilinx-zynqmpUpgrade linux-image-awsUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-ibm-5.4Upgrade linux-image-raspi-hwe-18.04Upgrade linux-image-raspiUpgrade linux-image-5.4.0-1098-ibmUpgrade linux-image-5.4.0-1126-fipsUpgrade linux-image-oem-osp1Upgrade linux-image-kvmUpgrade linux-image-5.4.0-1152-awsUpgrade linux-image-oracleUpgrade linux-image-oracle-5.4Upgrade linux-image-azure-fipsUpgrade linux-image-azure-fips-5.4 | Nov 19, 2024 | May 21, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 20, 2025 | May 21, 2024 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub