block, bfq: fix uaf for accessing waker_bfqq after splitting (Linux Linux)

CVE-2024-49854
HIGH 7.8

At a glance

Source
NVD
EPSS
EPSS 0.21 % · percentile 12 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Modified

Description

In the Linux kernel, the following vulnerability has been resolved: block, bfq: fix uaf for accessing waker_bfqq after splitting After commit 42c306ed7233 ("block, bfq: don't break merge chain in bfq_split_bfqq()"), if the current procress is the last holder of bfqq, the bfqq can be freed after bfq_split_bfqq(). Hence recored the bfqq and then access bfqq->waker_bfqq may trigger UAF. What's more, the waker_bfqq may in the merge chain of bfqq, hence just recored waker_bfqq is still not safe. Fix the problem by adding a helper bfq_waker_bfqq() to check if bfqq->waker_bfqq is in the merge chain, and current procress is the only holder.

Weaknesses (CWE)

References

Scores

VersionScoreVectorScored by
CVSS 3.1HIGH 7.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux
CVSS 3.1HIGH 7.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HNVD · 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary)
CVSS 3.1HIGH 7.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HNVD · nvd@nist.gov (Primary)

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
Linux · Linuxaffected e0c20d88b7dce85d2703bb6ba77bf359959675cd < 63a07379fdb6c72450cb05294461c6016b8b7726 ; affected de6c5e3a456019d2182e345730e59721714fa0b5 < de0456460f2abf921e356ed2bd8da87a376680bd ; affected 19f3bec2ac4be329b9bd12b18a989b867618d2d8 < 0780451f03bf518bc032a7c584de8f92e2d39d7f ; affected 13b3d0e8cb121f99b11918a0d4bcc1ce4647d352 < 0b8bda0ff17156cd3f60944527c9d8c9f99f1583 ; affected 4780f50ea50cfe8e89fc3747bf3dd155488433bb < cae58d19121a70329cf971359e2518c93fec04fe ; affected 42c306ed723321af4003b2a41bb73728cab54f85 < 1ba0403ac6447f2d63914fb760c44a3b19c44eaf
Linux · Linux

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD