lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025122409-CVE-2023-54099-4143@gregkh>
Date: Wed, 24 Dec 2025 14:06:56 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2023-54099: fs: Protect reconfiguration of sb read-write from racing writes

From: Greg Kroah-Hartman <gregkh@...nel.org>

Description
===========

In the Linux kernel, the following vulnerability has been resolved:

fs: Protect reconfiguration of sb read-write from racing writes

The reconfigure / remount code takes a lot of effort to protect
filesystem's reconfiguration code from racing writes on remounting
read-only. However during remounting read-only filesystem to read-write
mode userspace writes can start immediately once we clear SB_RDONLY
flag. This is inconvenient for example for ext4 because we need to do
some writes to the filesystem (such as preparation of quota files)
before we can take userspace writes so we are clearing SB_RDONLY flag
before we are fully ready to accept userpace writes and syzbot has found
a way to exploit this [1]. Also as far as I'm reading the code
the filesystem remount code was protected from racing writes in the
legacy mount path by the mount's MNT_READONLY flag so this is relatively
new problem. It is actually fairly easy to protect remount read-write
from racing writes using sb->s_readonly_remount flag so let's just do
that instead of having to workaround these races in the filesystem code.

[1] https://lore.kernel.org/all/00000000000006a0df05f6667499@google.com/T/

The Linux kernel CVE team has assigned CVE-2023-54099 to this issue.


Affected and fixed versions
===========================

	Fixed in 5.4.253 with commit 0336b42456e485fda1006b5b411e7372e20fbf03
	Fixed in 5.10.190 with commit 7e4e87ec56aa6d008c64eab31b340a7c452b26cc
	Fixed in 5.15.126 with commit 0ccfe21949bc9f706a86ee7351b74375c0745757
	Fixed in 6.1.45 with commit 295ef44a2abaf97d7a594b1d4c60d4be3738191f
	Fixed in 6.4.10 with commit 4abda85197ba5d695e6040d580b4b409ce0d3733
	Fixed in 6.5 with commit c541dce86c537714b6761a79a969c1623dfa222b

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-2023-54099
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:
	fs/super.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/0336b42456e485fda1006b5b411e7372e20fbf03
	https://git.kernel.org/stable/c/7e4e87ec56aa6d008c64eab31b340a7c452b26cc
	https://git.kernel.org/stable/c/0ccfe21949bc9f706a86ee7351b74375c0745757
	https://git.kernel.org/stable/c/295ef44a2abaf97d7a594b1d4c60d4be3738191f
	https://git.kernel.org/stable/c/4abda85197ba5d695e6040d580b4b409ce0d3733
	https://git.kernel.org/stable/c/c541dce86c537714b6761a79a969c1623dfa222b

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ