CVE-2023-52813

crypto: pcrypt - Fix hungtask for PADATA_RESET

MEDIUM
5.5
CVSS Score
Published: May 21, 2024 at 03:31 PM UTC
Updated: June 17, 2026 at 06:43 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.3%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: crypto: pcrypt - Fix hungtask for PADATA_RESET We found a hungtask bug in test_aead_vec_cfg as follows: INFO: task cryptomgr_test:391009 blocked for more than 120 seconds. "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. Call trace: __switch_to+0x98/0xe0 __schedule+0x6c4/0xf40 schedule+0xd8/0x1b4 schedule_timeout+0x474/0x560 wait_for_common+0x368/0x4e0 wait_for_completion+0x20/0x30 wait_for_completion+0x20/0x30 test_aead_vec_cfg+0xab4/0xd50 test_aead+0x144/0x1f0 alg_test_aead+0xd8/0x1e0 alg_test+0x634/0x890 cryptomgr_test+0x40/0x70 kthread+0x1e0/0x220 ret_from_fork+0x10/0x18 Kernel panic - not syncing: hung_task: blocked tasks For padata_do_parallel, when the return err is 0 or -EBUSY, it will call wait_for_completion(&wait->completion) in test_aead_vec_cfg. In normal case, aead_request_complete() will be called in pcrypt_aead_serial and the return err is 0 for padata_do_parallel. But, when pinst->flags is PADATA_RESET, the return err is -EBUSY for padata_do_parallel, and it won't call aead_request_complete(). Therefore, test_aead_vec_cfg will hung at wait_for_completion(&wait->completion), which will cause hungtask. The problem comes as following: (padata_do_parallel) | rcu_read_lock_bh(); | err = -EINVAL; | (padata_replace) | pinst->flags |= PADATA_RESET; err = -EBUSY | if (pinst->flags & PADATA_RESET) | rcu_read_unlock_bh() | return err In order to resolve the problem, we replace the return err -EBUSY with -EAGAIN, which means parallel_data is changing, and the caller should call it again. v3: remove retry and just change the return err. v2: introduce padata_try_do_parallel() in pcrypt_aead_encrypt and pcrypt_aead_decrypt to solve the hungtask.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

2.6.34 ≤ v < 4.14.3312.6.34 ≤ v < 4.19.3002.6.34 ≤ v < 5.10.2022.6.34 ≤ v < 5.15.1402.6.34 ≤ v < 5.4.2622.6.34 ≤ v < 6.1.642.6.34 ≤ v < 6.5.132.6.34 ≤ v < 6.6.32.6.34 ≤ v < 6.74.15 ≤ v < 4.19.3004.20 ≤ v < 5.4.2625.11 ≤ v < 5.15.1405.16 ≤ v < 6.1.645.5 ≤ v < 5.10.2026.2 ≤ v < 6.5.136.6 ≤ v < 6.6.316295bec6398a3eedc9377e1af6ff4c71b98c3002.6.34
Vendor states this is fixed in 372636debe852913529b1716f44addd94fff2d28 (fixed)
Vendor states this is fixed in 39fec48e62504f14845124a1a25eb199b2ddc0 (fixed)
Vendor states this is fixed in 546c1796ad1ed0d87dab3c4b5156d75819be2316 (fixed)
Vendor states this is fixed in 8f4f68e788c3a7a696546291258bfa5fdb215523 (fixed)
Vendor states this is fixed in c55fc098fd9d2dca475b82d00ffbcaf97879d77e (fixed)
Vendor states this is fixed in c9c1334697301c10e6918d747ed38abfbc0c96e7 (fixed)
Vendor states this is fixed in e134f3aba98e6c801a693f540912c2d493718ddf (fixed)
Vendor states this is fixed in e97bf4ada7dddacd184c3e196bd063b0dc71b41d (fixed)
Vendor states this is fixed in fb2d3a50a8f29a3c66682bb426144f40e32ab818 (fixed)
Vendor states this is fixed in 2.6.34 (unaffected)
Vendor states this is fixed in 4.14.331 (unaffected)
Vendor states this is fixed in 4.19.300 (unaffected)
Vendor states this is fixed in 5.10.202 (unaffected)
Vendor states this is fixed in 5.15.140 (unaffected)
Vendor states this is fixed in 5.4.262 (unaffected)
Vendor states this is fixed in 6.1.64 (unaffected)
Vendor states this is fixed in 6.5.13 (unaffected)
Vendor states this is fixed in 6.6.3 (unaffected)
Vendor states this is fixed in 6.7 (unaffected)

References (9)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/039fec48e062504f14845124a1a25eb199b2ddc0
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/372636debe852913529b1716f44addd94fff2d28
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/546c1796ad1ed0d87dab3c4b5156d75819be2316
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/8f4f68e788c3a7a696546291258bfa5fdb215523
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/c55fc098fd9d2dca475b82d00ffbcaf97879d77e
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/c9c1334697301c10e6918d747ed38abfbc0c96e7
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/e134f3aba98e6c801a693f540912c2d493718ddf
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/e97bf4ada7dddacd184c3e196bd063b0dc71b41d

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
NVD-CWE-noinfo

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card