CVE-2026-74578
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: crypto: algif_skcipher - ctx->state içermeyen ağaçlarda eşzamanlı işlemeyi zorla skcipher_recvmsg() içindeki AIO/async yolu, soket genelindeki ctx->iv'yi doğrudan skcipher isteğine aktarır. io_submit() sonrasında soket kilidi bırakılır ve istek eşzamansız olarak işlenir; bu nedenle eşzamanlı bir sendmsg(ALG_SET_IV) çağrısı ctx->iv'yi üzerine yazabilir ve uçuştaki isteğin saldırgan tarafından kontrol edilen bir IV ile çalışmasına neden olabilir. CTR/akış modları için bu, IV/anahtar akışı yeniden kullanımıdır ve ayrıcalıksız bir kullanıcının eşzamanlı bir işlemin düz metnini kurtarmasına olanak tanır. ctx->iv'nin async yolu için istek başına depolamaya anlık görüntüsünün alınması yeterli değildir. statesize == 0 olan şifreler için - ki buna cbc ve ctr dahildir - MSG_MORE parçalar arası IV zincirlemesi yalnızca yerinde req->iv geri yazımı ile taşınır; bir anlık görüntü bunu, tamamlanma sırasında af_alg_free_resources() tarafından serbest bırakılan istek başına belleğe yönlendirerek sessizce yanlış çıktı üretir. Bunun yerine IV'nin tamamlanma geri çağrısından geri yazılması da mümkün değildir: bu, orada lock_sock() gerektirir, ancak geri çağrı softirq/atomik bağlamda çalışabilir, bu nedenle uyumamalıdır. Bunun yerine işlemi eşzamanlı hale getirin; bu hem IV yarışını hem de herhangi bir geri yazma yarışını ortadan kaldırır. Bu, net/ genelinde AIO soket yolunu tamamen kaldıran ve dolayısıyla bu dosya için aynı son durumu üreten upstream çözümü olan fcc77d33a34c ("net: Remove support for AIO on sockets") commit'ine eşdeğerdir. Bu yama o commit'ten kasıtlı olarak sapar: stable için fazlasıyla invaziv olacak şekilde ağaç genelinde AIO soket desteğini kaldırmak yerine yalnızca crypto/algif_skcipher.c içindeki AIO dalını kaldırır. io_submit() artık eşzamanlı olarak tamamlanır; AF_ALG async pratikte nadiren kullanılır. skcipher_recvmsg() içindeki -EIOCBQUEUED kontrolü artık ölü ancak zararsızdır ve düzeltmeyi minimal tutmak için olduğu gibi bırakılmıştır. 6.6.y üzerinde test edildi: değişiklikten sonra saldırgan IV enjeksiyonu 2296/200000'den 0/200000'e düştü; MSG_MORE parçalı CTR çıktısı tek seferlik ile bit düzeyinde aynı.
Nasıl düzeltilir
- Linux Linuxbf09b0be8e851f050e98da702d247c14d81b591a, 73dd3bf704ca6c20639de70c08e9a10bee904a95, f1a87ca0843d74482402a206ea2dfb315ee9acbd, 7b91e51d0eb7cbb07f7f086f9176bd93dbbc85dd, 60eafc7b08c6689ea3ad39eff8d97aefc8a087c7, d7860b682da55433b5da0591b0e4c1982ecd2689, b05defc41b27c7d0c05c45f67bf5b91c28f93669, fcc77d33a34cf271702e8daafb6c593e4626776d ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | e870456d8e7c8d57c059ea479b5aadbb55ff4c3a ≤ v < bf09b0be8e851f050e98da702d247c14d81b591a, e870456d8e7c8d57c059ea479b5aadbb55ff4c3a ≤ v < 73dd3bf704ca6c20639de70c08e9a10bee904a95, e870456d8e7c8d57c059ea479b5aadbb55ff4c3a ≤ v < f1a87ca0843d74482402a206ea2dfb315ee9acbd, e870456d8e7c8d57c059ea479b5aadbb55ff4c3a ≤ v < 7b91e51d0eb7cbb07f7f086f9176bd93dbbc85dd, e870456d8e7c8d57c059ea479b5aadbb55ff4c3a ≤ v < 60eafc7b08c6689ea3ad39eff8d97aefc8a087c7, e870456d8e7c8d57c059ea479b5aadbb55ff4c3a ≤ v < d7860b682da55433b5da0591b0e4c1982ecd2689, e870456d8e7c8d57c059ea479b5aadbb55ff4c3a ≤ v < b05defc41b27c7d0c05c45f67bf5b91c28f93669, e870456d8e7c8d57c059ea479b5aadbb55ff4c3a ≤ v < fcc77d33a34cf271702e8daafb6c593e4626776d, 4.14 | bf09b0be8e851f050e98da702d247c14d81b591a, 73dd3bf704ca6c20639de70c08e9a10bee904a95, f1a87ca0843d74482402a206ea2dfb315ee9acbd, 7b91e51d0eb7cbb07f7f086f9176bd93dbbc85dd, 60eafc7b08c6689ea3ad39eff8d97aefc8a087c7, d7860b682da55433b5da0591b0e4c1982ecd2689, b05defc41b27c7d0c05c45f67bf5b91c28f93669, fcc77d33a34cf271702e8daafb6c593e4626776d |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.