blob: 86228422d494b634bdf5161c96a3bc68fe1e72ca [file] [log] [blame]
From bippy-5f407fcff5a0 Mon Sep 17 00:00:00 2001
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: <linux-cve-announce@vger.kernel.org>
Reply-to: <cve@kernel.org>, <linux-kernel@vger.kernel.org>
Subject: CVE-2024-50210: posix-clock: posix-clock: Fix unbalanced locking in pc_clock_settime()
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
posix-clock: posix-clock: Fix unbalanced locking in pc_clock_settime()
If get_clock_desc() succeeds, it calls fget() for the clockid's fd,
and get the clk->rwsem read lock, so the error path should release
the lock to make the lock balance and fput the clockid's fd to make
the refcount balance and release the fd related resource.
However the below commit left the error path locked behind resulting in
unbalanced locking. Check timespec64_valid_strict() before
get_clock_desc() to fix it, because the "ts" is not changed
after that.
[pabeni@redhat.com: fixed commit message typo]
The Linux kernel CVE team has assigned CVE-2024-50210 to this issue.
Affected and fixed versions
===========================
Issue introduced in 5.10.228 with commit 673a1c5a2998acbd429d6286e6cad10f17f4f073 and fixed in 5.10.229 with commit c7fcfdba35abc9f39b83080c2bce398dad13a943
Issue introduced in 5.15.169 with commit c8789fbe2bbf75845e45302cba6ffa44e1884d01 and fixed in 5.15.170 with commit e56e0ec1b79f5a6272c6e78b36e9d593aa0449af
Issue introduced in 6.1.114 with commit 27abbde44b6e71ee3891de13e1a228aa7ce95bfe and fixed in 6.1.115 with commit 5f063bbf1ee6b01611c016b54e050a41506eb794
Issue introduced in 6.6.58 with commit a3f169e398215e71361774d13bf91a0101283ac2 and fixed in 6.6.59 with commit 1ba33b327c3f88a7baee598979d73ab5b44d41cc
Issue introduced in 6.11.5 with commit 1ff7247101af723731ea42ed565d54fb8f341264 and fixed in 6.11.6 with commit b27330128eca25179637c1816d5a72d6cc408c66
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2024-50210
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
kernel/time/posix-clock.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/d005400262ddaf1ca1666bbcd1acf42fe81d57ce
https://git.kernel.org/stable/c/a8219446b95a859488feaade674d13f9efacfa32
https://git.kernel.org/stable/c/c7fcfdba35abc9f39b83080c2bce398dad13a943
https://git.kernel.org/stable/c/e56e0ec1b79f5a6272c6e78b36e9d593aa0449af
https://git.kernel.org/stable/c/5f063bbf1ee6b01611c016b54e050a41506eb794
https://git.kernel.org/stable/c/1ba33b327c3f88a7baee598979d73ab5b44d41cc
https://git.kernel.org/stable/c/b27330128eca25179637c1816d5a72d6cc408c66
https://git.kernel.org/stable/c/6e62807c7fbb3c758d233018caf94dfea9c65dbd