В ядре Linux устранена следующая уязвимость:
ext2: исправление потерянных обновлений индексных дескрипторов для индексных дескрипторов IS_SYNC.
ext2_setsize() и ext2_xattr_set2() имели такую конструкцию:
если (IS_SYNC(инод)) {
sync_inode_metadata (инод, 1);
} еще {
mark_inode_dirty (инод);
}
что приводит к потере обновлений индексных дескрипторов IS_SYNC, поскольку
sync_inode_metadata() делает что-либо, только если индексный дескриптор уже загрязнен.
и, следовательно, обновления индексного дескриптора могут быть просто потеряны. Устраните проблему с помощью
безоговорочно пометить индексный дескриптор как грязный и *затем* вызвать
sync_inode_metadata().
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: ext2: Fix lost inode updates for IS_SYNC inodes ext2_setsize() and ext2_xattr_set2() had a construct like: if (IS_SYNC(inode)) { sync_inode_metadata(inode, 1); } else { mark_inode_dirty(inode); } which leads to lost inode updates for IS_SYNC inodes because sync_inode_metadata() does anything only if the inode is already dirty and hence inode updates may be simply lost. Fix the problem by unconditionally marking the inode dirty and *then* call sync_inode_metadata().
Характеристики атаки
Последствия
Строка CVSS v3.1