
La suppression de strncpy() dans le noyau Linux, un gain de sécurité concret pour un développeur ou un collègue qui suit les dessous du logiciel libre.

Linux 7.2 supprime une fonction piégée Fil de l’histoire et faits clés
Linux 7.2 marque une étape majeure dans la robustesse du noyau en supprimant définitivement la fonction strncpy(), utilisée depuis les débuts du langage C. Cette fonction, bien qu'apparemment banale, contenait un comportement risqué : lors de la copie de chaînes, elle pouvait omettre le caractère de terminaison, exposant ainsi des zones mémoire sensibles du noyau, ou bien remplir inutilement de la mémoire avec des zéros. Ces deux défauts ont longtemps été une source récurrente de bugs et de vulnérabilités.
Le projet de suppression, mené par Kees Cook dans le cadre du Kernel Self Protection Project, a pris six ans et mobilisé 70 contributeurs, dont Justin Stitt qui a signé plus de la moitié des 362 commits nécessaires. Chaque appel à strncpy() a été remplacé par l'une de cinq fonctions alternatives — comme strscpy ou memcpy — adaptées au cas d'usage réel, mettant fin à un usage fourre-tout.
À partir de Linux 7.2, toute tentative d'utiliser strncpy() entraînera une erreur de compilation, transformant une bonne pratique en règle technique incontournable. Cette évolution concerne uniquement le noyau Linux ; les logiciels en espace utilisateur conservent l'accès à la fonction via la bibliothèque C standard. La version finale de Linux 7.2 est attendue fin août 2026.
Faits
- Linux 7.2, publié en juin 2026, supprime définitivement la fonction strncpy() du noyau.
- La suppression a nécessité 362 commits et impliqué 70 contributeurs, dont Justin Stitt (211 commits).
- strncpy() pouvait exposer des données sensibles ou gaspiller des ressources en CPU.
- La fonction est remplacée par cinq alternatives selon l'usage : strscpy, strscpy_pad, strtomem_pad, memcpy_and_pad, memcpy.
- Toute utilisation future de strncpy() provoquera une erreur de compilation dans le noyau Linux.
- Les logiciels en espace utilisateur conservent l'accès à strncpy() via la bibliothèque C standard.
Explication visuelle de l’actualité par Canto. Des outils d’IA peuvent aider à la production. Politique éditoriale





