CVE-2026-89571 in Linux
Résumé
par VulDB • 12/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
cxl/features : limitation de la charge utile des commandes fwctl au tampon d'entrée
fwctl_cmd_rpc() copie cmd->in_len octets dans inbuf = kvzalloc(cmd->in_len) et transmet inbuf et in_len à ->fw_rpc(). La fonction de rappel CXL cxlctl_fw_rpc() ignore in_len et ne vérifie jamais la taille contrôlée par l'utilisateur, op_size, par rapport à celle-ci.
cxlctl_set_feature() limite uniquement op_size par le bas (op_size <= sizeof(feat_in->hdr)) puis lit op_size - sizeof(hdr) octets depuis feat_in->feat_data via cxl_set_feature(). Avec une in_len petite et une op_size grande, la première memcpy() lit déjà au-delà du tampon alloué dynamiquement avec kvzalloc(in_len) ; les octets hors limites sont placés dans la charge utile de la boîte aux lettres (mailbox) et envoyés à l'appareil, et une op_size suffisamment grande peut accéder à une mémoire non mappée et provoquer un plantage du noyau (oops). Les chemins « Get » épinglent op_size à une taille fixe mais lisent également la structure d'entrée sans vérifier in_len.
Rejeter, au point de dispatch unique, toute demande dont l'en-tête fixe plus op_size ne tient pas dans le tampon copié depuis l'utilisateur. Le test de borne inférieure protège la soustraction et garantit que op_size a bien été copié avant d'être lu.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.