0.0
NA
CVE-2023-52813
Linux PCrypt Hung Task Vulnerability
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.

INFO

Published Date :

May 21, 2024, 4:15 p.m.

Last Modified :

Nov. 21, 2024, 8:40 a.m.

Source :

416baaa9-dc9f-4396-8d5f-8c081fb06d67

Remotely Exploitable :

No

Impact Score :

Exploitability Score :

Affected Products

The following products are affected by CVE-2023-52813 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

ID Vendor Product Action
1 Linux linux_kernel
References to Advisories, Solutions, and Tools

We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).

Results are limited to the first 15 repositories due to potential performance issues.

The following list is the news that have been mention CVE-2023-52813 vulnerability anywhere in the article.

The following table lists the changes that have been made to the CVE-2023-52813 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.

  • CVE Modified by af854a3a-2127-422b-91ae-364da2661108

    Nov. 21, 2024

    Action Type Old Value New Value
    Added Reference https://git.kernel.org/stable/c/039fec48e062504f14845124a1a25eb199b2ddc0
    Added Reference https://git.kernel.org/stable/c/372636debe852913529b1716f44addd94fff2d28
    Added Reference https://git.kernel.org/stable/c/546c1796ad1ed0d87dab3c4b5156d75819be2316
    Added Reference https://git.kernel.org/stable/c/8f4f68e788c3a7a696546291258bfa5fdb215523
    Added Reference https://git.kernel.org/stable/c/c55fc098fd9d2dca475b82d00ffbcaf97879d77e
    Added Reference https://git.kernel.org/stable/c/c9c1334697301c10e6918d747ed38abfbc0c96e7
    Added Reference https://git.kernel.org/stable/c/e134f3aba98e6c801a693f540912c2d493718ddf
    Added Reference https://git.kernel.org/stable/c/e97bf4ada7dddacd184c3e196bd063b0dc71b41d
    Added Reference https://git.kernel.org/stable/c/fb2d3a50a8f29a3c66682bb426144f40e32ab818
  • CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    May. 29, 2024

    Action Type Old Value New Value
  • CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    May. 21, 2024

    Action Type Old Value New Value
    Added 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.
    Added Reference kernel.org https://git.kernel.org/stable/c/fb2d3a50a8f29a3c66682bb426144f40e32ab818 [No types assigned]
    Added Reference kernel.org https://git.kernel.org/stable/c/039fec48e062504f14845124a1a25eb199b2ddc0 [No types assigned]
    Added Reference kernel.org https://git.kernel.org/stable/c/c9c1334697301c10e6918d747ed38abfbc0c96e7 [No types assigned]
    Added Reference kernel.org https://git.kernel.org/stable/c/e97bf4ada7dddacd184c3e196bd063b0dc71b41d [No types assigned]
    Added Reference kernel.org https://git.kernel.org/stable/c/546c1796ad1ed0d87dab3c4b5156d75819be2316 [No types assigned]
    Added Reference kernel.org https://git.kernel.org/stable/c/c55fc098fd9d2dca475b82d00ffbcaf97879d77e [No types assigned]
    Added Reference kernel.org https://git.kernel.org/stable/c/e134f3aba98e6c801a693f540912c2d493718ddf [No types assigned]
    Added Reference kernel.org https://git.kernel.org/stable/c/372636debe852913529b1716f44addd94fff2d28 [No types assigned]
    Added Reference kernel.org https://git.kernel.org/stable/c/8f4f68e788c3a7a696546291258bfa5fdb215523 [No types assigned]
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.
CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2023-52813 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2023-52813 weaknesses.

NONE - Vulnerability Scoring System
© cvefeed.io
Latest DB Update: May. 14, 2025 21:50