CyberSecBulletin
CVE-2024-49981NVD status: Modified

Linux: Concurrent Execution using Shared Resource with Improper Synchronization

CVE-2024-49981 is a high-severity concurrent execution using shared resource with improper synchronization vulnerability in Linux, with a CVSS 3.1 base score of 7.0 out of 10. It can be exploited with local access to the system by an attacker with a low-privileged account, without any action from a user. The record lists versions 5098b9e6377577fe13d03e1d8914930f014a3314, 63bbe26471ebdcc3c20bb4cc3950d666279ad658, 60b6968341a6dd5353554f3e72db554693a128a5 as the first without the flaw, so updating Linux to one of those releases or later removes the exposure. There is no confirmed exploitation so far. EPSS estimates a 0.19% chance of exploitation within 30 days, which is low compared with other CVEs.

Next patch cycle

High severity with no evidence of exploitation so far.

What to do

  1. Update Linux to 5098b9e6377577fe13d03e1d8914930f014a3314 or 63bbe26471ebdcc3c20bb4cc3950d666279ad658 or 60b6968341a6dd5353554f3e72db554693a128a5 or bf6be32e2d39f6301ff1831e249d32a8744ab28a, whichever matches your release line, or a later version.
  2. Update Linux Kernel to 5.10.227 or 5.15.168 or 6.1.113 or 6.6.55, whichever matches your release line, or a later version.

Affected products and versions

VendorProductAffected versionsFixed in
LinuxLinuxaf2c3834c8ca7cc65d15592ac671933df8848115 up to, but not including, 5098b9e6377577fe13d03e1d8914930f014a3314; af2c3834c8ca7cc65d15592ac671933df8848115 up to, but not including, 63bbe26471ebdcc3c20bb4cc3950d666279ad658; af2c3834c8ca7cc65d15592ac671933df8848115 up to, but not including, 60b6968341a6dd5353554f3e72db554693a128a5; af2c3834c8ca7cc65d15592ac671933df8848115 up to, but not including, bf6be32e2d39f6301ff1831e249d32a8744ab28a; af2c3834c8ca7cc65d15592ac671933df8848115 up to, but not including, 2a541fcc0bd2b05a458e9613376df1289ec11621; af2c3834c8ca7cc65d15592ac671933df8848115 up to, but not including, b0686aedc5f1343442d044bd64eeac7e7a391f4e; af2c3834c8ca7cc65d15592ac671933df8848115 up to, but not including, d925e9f7fb5a2dbefd1a73fc01061f38c7becd4c; af2c3834c8ca7cc65d15592ac671933df8848115 up to, but not including, 10941d4f99a5a34999121b314afcd9c0a1c14f15; and 2 more ranges5098b9e6377577fe13d03e1d8914930f014a3314, 63bbe26471ebdcc3c20bb4cc3950d666279ad658, 60b6968341a6dd5353554f3e72db554693a128a5, bf6be32e2d39f6301ff1831e249d32a8744ab28a, 2a541fcc0bd2b05a458e9613376df1289ec11621, b0686aedc5f1343442d044bd64eeac7e7a391f4e
LinuxLinux Kernel4.13 up to, but not including, 5.10.227; 5.11 up to, but not including, 5.15.168; 5.16 up to, but not including, 6.1.113; 6.2 up to, but not including, 6.6.55; 6.7 up to, but not including, 6.10.14; 6.11 up to, but not including, 6.11.35.10.227, 5.15.168, 6.1.113, 6.6.55, 6.10.14, 6.11.3

Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.

How the severity score breaks down

Attack vector
LocalThe attacker needs local access or must trick a user into running something.
Attack complexity
HighSuccess depends on conditions outside the attacker's control.
Privileges required
LowA basic user account is enough.
User interaction
NoneNo action by a victim is required.
Scope
UnchangedImpact stays within the vulnerable component.
Confidentiality
HighAll data handled by the component can be read.
Integrity
HighData or code can be modified at will.
Availability
HighThe component can be taken down completely.

Vector: CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H. Scored by NVD.

Scoring systemScoreSeverityScored by
CVSS 3.17.8HighCNA
CVSS 3.17.0HighNVD

Official description

In the Linux kernel, the following vulnerability has been resolved: media: venus: fix use after free bug in venus_remove due to race condition in venus_probe, core->work is bound with venus_sys_error_handler, which is used to handle error. The code use core->sys_err_done to make sync work. The core->work is started in venus_event_notify. If we call venus_remove, there might be an unfished work. The possible sequence is as follows: CPU0 CPU1 |venus_sys_error_handler venus_remove | hfi_destroy | venus_hfi_destroy | kfree(hdev); | |hfi_reinit |venus_hfi_queues_reinit |//use hdev Fix it by canceling the work in venus_remove.

Source: the CVE record as published by its numbering authority, via NVD and CVE.org.

The underlying weakness: Concurrent Execution using Shared Resource with Improper Synchronization

The product contains a concurrent code sequence that requires temporary, exclusive access to a shared resource, but a timing window exists in which the shared resource can be modified by another code sequence operating concurrently.

How developers prevent this class of flaw

  • In languages that support it, use synchronization primitives. Only wrap these around critical code to minimize the impact on performance.
  • Use thread-safe capabilities such as the data access abstraction in Spring.
  • Minimize the usage of shared resources in order to remove as much complexity as possible from the control flow and to reduce the likelihood of unexpected conditions occurring. Additionally, this will minimize the amount of synchronization necessary and may even help to reduce the likelihood of a denial of service where an attacker may be able to repeatedly trigger a critical section (CWE-400).

More Concurrent Execution using Shared Resource with Improper Synchronization vulnerabilities (CWE-362)

Timeline

  1. CVE record published.
  2. CISA published its SSVC assessment (exploitation: none, automatable: no, technical impact: partial).
  3. Record last changed materially (score, affected products, status or references).

References

Recent Concurrent Execution using Shared Resource with Improper Synchronization vulnerabilities

Spotted an error? Tell us.