CVE-2021-37639
Açıklama
TensorFlow, makine öğrenimi için uçtan uca açık kaynaklı bir platformdur. Ham API'ler aracılığıyla tensörler geri yüklenirken, tensör adı sağlanmazsa, TensorFlow bir null işaretçisinin referansını çözmeye kandırılabilir. Alternatif olarak, saldırganlar bazı tensör adları sağlayarak ancak başarılı bir geri yükleme için yeterli olmayacak şekilde, heap'te ayrılmış verilerin sınırları dışındaki belleği okuyabilir. [Uygulama](https://github.com/tensorflow/tensorflow/blob/47a06f40411a69c99f381495f490536972152ac0/tensorflow/core/kernels/save_restore_tensor.cc#L158-L159), kullanıcı tarafından kontrol edilen `tensor_name` girdisine karşılık gelen tensör listesini alır ve hemen geri yükleme dizinindeki (`preferred_shard` argümanı aracılığıyla kontrol edilen) tensörü alır. Bu, sağlanan listenin yeterli değere sahip olduğu doğrulanmadan gerçekleşir. Liste boşsa bu, bir null işaretçisinin referansının çözülmesine (tanımsız davranış) yol açar. Ancak liste bazı öğelere sahipse ve geri yükleme dizini sınırların dışındaysa bu, heap OOB okumasına yol açar. Sorunu GitHub commit 9e82dce6e6bd1f36a57e08fa85af213e2b2f2622'de yamaladık. Düzeltme TensorFlow 2.6.0'a dahil edilecektir. Bu commit'i ayrıca etkilenen ve hâlâ desteklenen aralıkta olan TensorFlow 2.5.1, TensorFlow 2.4.3 ve TensorFlow 2.3.4'e de cherrypick edeceğiz.
Nasıl düzeltilir
- google tensorflow2.3.4, 2.4.3 ya da sonraki bir sürüm
- tensorflow2.3.4, 2.4.3, 2.5.1 ya da sonraki bir sürüm
- tensorflow-cpu2.3.4, 2.4.3, 2.5.1 ya da sonraki bir sürüm
- tensorflow-gpu2.3.4, 2.4.3, 2.5.1 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| google tensorflow | 2.3.0 ≤ v < 2.3.4, 2.4.0 ≤ v < 2.4.3, 2.5.0, 2.6.0 | 2.3.4, 2.4.3 |
| tensorflowPyPI | v < 2.3.4, 2.4.0 ≤ v < 2.4.3, 2.5.0 ≤ v < 2.5.1, 2.3.0 ≤ v < 2.3.4 | 2.3.4, 2.4.3, 2.5.1 |
| tensorflow-cpuPyPI | v < 2.3.4, 2.4.0 ≤ v < 2.4.3, 2.5.0 ≤ v < 2.5.1, 2.3.0 ≤ v < 2.3.4 | 2.3.4, 2.4.3, 2.5.1 |
| tensorflow-gpuPyPI | v < 2.3.4, 2.4.0 ≤ v < 2.4.3, 2.5.0 ≤ v < 2.5.1, 2.3.0 ≤ v < 2.3.4 | 2.3.4, 2.4.3, 2.5.1 |
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.