Release Date: | 2024-05-21 |
In the Linux kernel, the following vulnerability has been resolved:\ncrypto: pcrypt - Fix hungtask for PADATA_RESET\nWe found a hungtask bug in test_aead_vec_cfg as follows:\nINFO: task cryptomgr_test:391009 blocked for more than 120 seconds.\n'echo 0 > /proc/sys/kernel/hung_task_timeout_secs' disables this message.\nCall trace:\n__switch_to+0x98/0xe0\n__schedule+0x6c4/0xf40\nschedule+0xd8/0x1b4\nschedule_timeout+0x474/0x560\nwait_for_common+0x368/0x4e0\nwait_for_completion+0x20/0x30\nwait_for_completion+0x20/0x30\ntest_aead_vec_cfg+0xab4/0xd50\ntest_aead+0x144/0x1f0\nalg_test_aead+0xd8/0x1e0\nalg_test+0x634/0x890\ncryptomgr_test+0x40/0x70\nkthread+0x1e0/0x220\nret_from_fork+0x10/0x18\nKernel panic - not syncing: hung_task: blocked tasks\nFor padata_do_parallel, when the return err is 0 or -EBUSY, it will call\nwait_for_completion(&wait->completion) in test_aead_vec_cfg. In normal\ncase, aead_request_complete() will be called in pcrypt_aead_serial and the\nreturn err is 0 for padata_do_parallel. But, when pinst->flags is\nPADATA_RESET, the return err is -EBUSY for padata_do_parallel, and it\nwon't call aead_request_complete(). Therefore, test_aead_vec_cfg will\nhung at wait_for_completion(&wait->completion), which will cause\nhungtask.\nThe problem comes as following:\n(padata_do_parallel) |\nrcu_read_lock_bh(); |\nerr = -EINVAL; | (padata_replace)\n| pinst->flags |= PADATA_RESET;\nerr = -EBUSY |\nif (pinst->flags & PADATA_RESET) |\nrcu_read_unlock_bh() |\nreturn err\nIn order to resolve the problem, we replace the return err -EBUSY with\n-EAGAIN, which means parallel_data is changing, and the caller should call\nit again.\nv3:\nremove retry and just change the return err.\nv2:\nintroduce padata_try_do_parallel() in pcrypt_aead_encrypt and\npcrypt_aead_decrypt to solve the hungtask.
See more information about CVE-2023-52813 from MITRE CVE dictionary and NIST NVD
NOTE: The following CVSS v3.1 metrics and score provided are preliminary and subject to review.
Base Score: | 5.5 | CVSS Vector: | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Attack Vector: | Local network | Attack Complexity: | Low |
Privileges Required: | Low | User Interaction: | None |
Scope: | Unchanged | Confidentiality Impact: | None |
Integrity Impact: | None | Availability Impact: | High |
Platform | Errata | Release Date |
Oracle Linux version 6 (kernel-uek) | ELSA-2024-12570 | 2024-08-05 |
Oracle Linux version 7 (kernel-uek) | ELSA-2024-12571 | 2024-08-05 |
Oracle Linux version 8 (kernel) | ELSA-2024-4211 | 2024-07-02 |
Oracle Linux version 9 (kernel) | ELSA-2024-9315 | 2024-11-14 |
Oracle VM version 3 (kernel-uek) | OVMSA-2024-0010 | 2024-08-07 |
This page is generated automatically and has not been checked for errors or omissions. For clarification or corrections: