Vulnérabilité dans XFS permettant de lire des données brutes du périphérique de bloc

Une vulnérabilité a été détectée dans le code du système de fichiers XFS (CVE-2021-4155), permettant à un utilisateur local non privilégié de lire des données de blocs non utilisés directement depuis un périphérique de bloc. Toutes les versions significatives du noyau Linux supérieures à 5.16, contenant le pilote XFS, sont touchées par ce problème. Un correctif a été intégré dans la version 5.16, ainsi que dans les mises à jour des noyaux 5.15.14, 5.10.91, 5.4.171, 4.19.225, etc. L'état de la génération de mises à jour corrigeant le problème dans les distributions peut être suivi sur ces pages : Debian, RHEL, SUSE, Fedora, Ubuntu, Arch.

La vulnérabilité est causée par un comportement incorrect de deux ioctl spécifiques à XFS, ioctl(XFS_IOC_ALLOCSP) et ioctl(XFS_IOC_FREESP), qui sont fonctionnellement équivalents à l'appel système fallocate() du noyau. Lors de l'augmentation de la taille d'un fichier non aligné sur la taille de bloc, ioctl XFS_IOC_ALLOCSP/XFS_IOC_FREESP ne mettent pas à zéro les octets restant jusqu'à la prochaine limite de bloc. Ainsi, sur XFS avec une taille de bloc standard de 4096 octets, un attaquant peut lire jusqu'à 4095 octets des données précédemment écrites à partir de chaque bloc. Ces zones peuvent contenir des données de fichiers supprimés, des fichiers défragmentés, ainsi que des fichiers avec des blocs dédupliqués.

Vous pouvez vérifier si votre système est affecté par le problème à l'aide d'un simple prototype d'exploit. Si, après avoir exécuté la séquence de commandes suggérée, vous parvenez à lire un texte de Shakespeare, alors le pilote de système de fichiers est vulnérable. Le premier montage de la partition XFS pour la démonstration nécessite des droits de superutilisateur.

Étant donné qu'ioctl(XFS_IOC_ALLOCSP) et ioctl(XFS_IOC_FREESP) sont fonctionnellement pratiquement identiques à l'interface standard fallocate(), et que leur seule différence est la fuite de données, leur présence ressemble à un backdoor. Malgré la politique générale de ne pas modifier les interfaces existantes dans le noyau, sur proposition de Linus, il a été décidé de supprimer complètement ces ioctl dans la prochaine version.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster