CVE-2022-50774 in Linuxinformation

Résumé

par VulDB • 29/06/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

crypto: qat - correction de l'direction du transfert DMA

Lorsque CONFIG_DMA_API_DEBUG est activé, lors de l'exécution des tests unitaires auto (self-tests) sur les algorithmes cryptographiques QAT, la fonction add_dma_entry() signale un avertissement similaire à celui ci-dessous, indiquant que les mappages chevauchants ne sont pas pris en charge. Cela se produit dans les cas où la liste de dispersion d'entrée et celle de sortie pointent vers les mêmes tampons (c'est-à-dire deux listes de dispersion différentes qui pointent vers les mêmes zones mémoire).

La logique implémentant le mappage utilise l'indicateur DMA_BIDIRECTIONAL pour les listes de dispersion d'entrée et de sortie, ce qui entraîne des mappages en écriture chevauchants. Ceux-ci ne sont pas pris en charge par la couche DMA.

Correction : spécification des directions de transfert DMA correctes lors du mappage des tampons. Pour les opérations in-place où la liste de dispersion d'entrée correspond à celle de sortie, les tampons sont mappés une seule fois avec DMA_BIDIRECTIONAL ; sinon, les tampons d'entrée sont mappés en utilisant l'indicateur DMA_TO_DEVICE et les tampons de sortie avec DMA_FROM_DEVICE. Le chevauchement d'un mappage en lecture avec un mappage en écriture est un cas valide pour les appareils cohérents au niveau du cache (dma-coherent) tels que QAT.

La fonction qui libère et démappe les tampons, qat_alg_free_bufl(), a été modifiée en conséquence des changements apportés à la fonction de mappage.

DMA-API: 4xxx 0000:06:00.0 : suivi du cache EEXIST, les mappages chevauchants ne sont pas pris en charge AVERTISSEMENT : CPU : 53 PID : 4362 à kernel/dma/debug.c:570 add_dma_entry+0x1e9/0x270 ... Pile d'appels (Call Trace) : dma_map_page_attrs+0x82/0x2d0 ? preempt_count_add+0x6a/0xa0 qat_alg_sgl_to_bufl+0x45b/0x990 [intel_qat]
qat_alg_aead_dec+0x71/0x250 [intel_qat]
crypto_aead_decrypt+0x3d/0x70 test_aead_vec_cfg+0x649/0x810 ? number+0x310/0x3a0 ? vsnprintf+0x2a3/0x550 ? scnprintf+0x42/0x70 ? valid_sg_divisions.constprop.0+0x86/0xa0 ? test_aead_vec+0xdf/0x120 test_aead_vec+0xdf/0x120 alg_test_aead+0x185/0x400 alg_test+0x3d8/0x500 ? crypto_acomp_scomp_free_ctx+0x30/0x30 ? __schedule+0x32a/0x12a0 ? ttwu_queue_wakelist+0xbf/0x110 ? _raw_spin_unlock_irqrestore+0x23/0x40 ? try_to_wake_up+0x83/0x570 ? _raw_spin_unlock_irqrestore+0x23/0x40 ? __set_cpus_allowed_ptr_locked+0xea/0x1b0 ? crypto_acomp_scomp_free_ctx+0x30/0x30 cryptomgr_test+0

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Responsable

Linux

Réserver

24/12/2025

Divulgation

24/12/2025

Modérer

accepté

Entrée

VDB-338078

CPE

prêt

EPSS

0.00217

KEV

non

Activités

très faible

Sources

Do you need the next level of professionalism?

Upgrade your account now!