В ядре Linux устранена следующая уязвимость:
ovl: проверьте доступ к источнику copy_file_range с помощью учетных данных монтера src
Зафиксируйте 5dae222a5ff0c («vfs: разрешить copy_file_range копировать между устройствами»)
разрешено файловым системам, реализующим f_op copy_file_range(), решать
если они хотят получить доступ к копии между SB из/в тот же тип фс. Тот же коммит добавил проверки для проверки одной и той же копии SB для файловых систем, которые
реализовать ->copy_file_range() и не поддерживать копирование между SB на
время, а именно ceph, Fuse и nfs. Две оставшиеся fs, которые реализуют ->copy_file_range(), cifs и
С этого времени overlayfs начал поддерживать копирование между SB.
Хотя overlayfs поддерживает копирование между SB, когда два базовых файла находятся в одной базовой файловой системе, операция копирования двух реальных файлов из две разные файловые системы overalyfs выполняются с помощью монтера учетные данные целевых наложений и перехватчик доступа к разрешению на чтение поскольку исходный файл был вызван с неправильными учетными данными. Это может привести либо к отказу в доступе к копии, что в противном случае было бы разрешено (например, при сращивании) или разрешить доступ для чтения к файлу, который в противном случае будет отказано. Исправьте последний случай, явно проверив доступ для чтения к исходному файлу. с исходными данными монтера overlayfs.
Первый случай остается особенностью копирования перекрестных наложений, но пользовательское пространство может вернуться к обычной копии, так что никакого вреда не будет.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: ovl: check access to copy_file_range source with src mounter creds Commit 5dae222a5ff0c ("vfs: allow copy_file_range to copy across devices") allowed filesystems that implement the copy_file_range() f_op to decide if they want to access cross-sb copy from/to the same fs type. The same commit added checks to verify same sb copy for filesystems that implement ->copy_file_range() and do not support cross-sb copy at the time, namely, to ceph, fuse and nfs. The two remaining fs which implement ->copy_file_range(), cifs and overlayfs started to support cross-sb copy from this time. While overlayfs does support cross-sb copy when the two underlying files are on the same base fs, the copy operation on the two real files from two different overalyfs filesystems is performed with the mounter creds of the destination overlayfs and the read permission access hook for the source file was called with the wrong creds. This could cause either deny of access to copy which would otherwise be allowed (e.g. with splice) or allow read access to file which would otherwise be denied. Fix the latter case by explicitly verifying read access to source file with the source overlayfs mounter creds. The former case remains a quirk of cross-sb overlayfs copy, but userspace could fall back to regular copy so no harm done.
Уязвимые продукты 3
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
|
5.3
|
6.18.42
|
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
|
5.3
|
7.1.6
|
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
|
5.3
|
7.2-rc5
|