CVE-2024-26791: btrfs: dev-replace: properly validate device names

Description

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

btrfs: dev-replace: properly validate device names

There's a syzbot report that device name buffers passed to device
replace are not properly checked for string termination which could lead
to a read out of bounds in getname_kernel().

Add a helper that validates both source and target device name buffers.
For devid as the source initialize the buffer to empty string in case
something tries to read it later.

This was originally analyzed and fixed in a different way by Edward Adam
Davis (see links).

Classification

CVE ID: CVE-2024-26791

Affected Products

Vendor: Linux

Product: Linux

Exploit Prediction Scoring System (EPSS)

EPSS Score: 0.04% (probability of being exploited)

EPSS Percentile: 5.08% (scored less or equal to compared to others)

EPSS Date: 2025-02-04 (when was this score calculated)

References

https://git.kernel.org/stable/c/11d7a2e429c02d51e2dc90713823ea8b8d3d3a84
https://git.kernel.org/stable/c/c6652e20d7d783d060fe5f987eac7b5cabe31311
https://git.kernel.org/stable/c/2886fe308a83968dde252302884a1e63351cf16d
https://git.kernel.org/stable/c/ab2d68655d0f04650bef09fee948ff80597c5fb9
https://git.kernel.org/stable/c/f590040ce2b712177306b03c2a63b16f7d48d3c8
https://git.kernel.org/stable/c/b1690ced4d2d8b28868811fb81cd33eee5aefee1
https://git.kernel.org/stable/c/343eecb4ff49a7b1cc1dfe86958a805cf2341cfb
https://git.kernel.org/stable/c/9845664b9ee47ce7ee7ea93caf47d39a9d4552c4

Timeline