ocfs2: fix NULL h_transaction deref in ocfs2_assure_trans_credits
3Vexday Risk Score
Sin señal de explotación. Ningún artefacto público de explotación conocido hasta ahora.
ssvc Trackepss 0.2%
probabilidad de explotación
0.2%top 89% de las CVE
explotación observada
noninguna fuente lo reporta
In the Linux kernel, the following vulnerability has been resolved:
ocfs2: fix NULL h_transaction deref in ocfs2_assure_trans_credits
[BUG]
A direct write over unwritten extents can panic the kernel in
ocfs2_assure_trans_credits() when the journal aborts during DIO
completion. The crash is a general protection fault from a NULL pointer
dereference.
[CAUSE]
ocfs2_dio_end_io_write() loops over a direct write's unwritten extents,
marking each written under a single journal handle. If the journal
aborts (for example after an I/O error) while the extent tree is being
updated, the handle is left aborted with its transaction pointer
cleared. The extent merge treats that failure as not critical and
reports success, so the loop keeps using the handle.
ocfs2_assure_trans_credits() reads the handle's remaining credits
without first checking whether the handle is aborted, and that read
dereferences the cleared transaction pointer.
[FIX]
A journal abort is recorded in the handle itself, so callers are
expected to test the handle rather than rely on a returned error.
Make ocfs2_assure_trans_credits() do that, as the other ocfs2 journal
helpers already do, and return -EROFS when the handle is aborted.
Productos afectados
Linux · LinuxReferencias
https://git.kernel.org/stable/c/253ed993e0b36997ec7b04c1ff76103b38241de2https://git.kernel.org/stable/c/2d80e9c56718435a9c9f5f24dbc954989aead579https://git.kernel.org/stable/c/6ad7532a23bc94076efe9f1486dd7f7493c090ffhttps://git.kernel.org/stable/c/7146d191dae3a8efdb957993fb61a55713186266https://git.kernel.org/stable/c/942b818b396c24c452681803ff291552317d2ef1https://git.kernel.org/stable/c/bd73971fad89d5ee4ea0ba9b92d2ea08733c4a64https://git.kernel.org/stable/c/f14aaaa130356ee4adb44de947c098637c70df8fhttps://git.kernel.org/stable/c/f9ab30c96b0f00c20c6dac93681bdae3a033d229