CVE-2021-37647
Açıklama
TensorFlow, makine öğrenimi için uçtan uca açık kaynaklı bir platformdur. Bir kullanıcı geçerli bir seyrek tensörü belirleyen bağımsız değişkenleri sağlamadığında, `tf.raw_ops.SparseTensorSliceDataset` uygulaması bir null pointer referansına yol açabilir. [Uygulama](https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/tensorflow/core/kernels/data/sparse_tensor_slice_dataset_op.cc#L240-L251) bazı bağımsız değişken doğrulamalarına sahiptir ancak boş bir seyrek tensör için `indices` veya `values` değerlerinden birinin sağlandığı, diğerinin ise sağlanmadığı durumu göz ardı etmektedir. Eğer `indices` boşsa, [doğrulamayı gerçekleştiren kod](https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/tensorflow/core/kernels/data/sparse_tensor_slice_dataset_op.cc#L260-L261) (yani indekslerin monoton olarak arttığının kontrol edilmesi) bir null pointer dereference ile sonuçlanır. Kullanıcı tarafından sağlanan `indices` boş olduğunda, yukarıdaki C++ kodundaki `indices` boş bir `std::vector` tarafından desteklenir; bu nedenle `indices->dim_size(0)` çağrısı null pointer dereferencing ile sonuçlanır (boş bir vektör üzerinde `std::vector::at()` çağırmakla aynıdır). Sorun, GitHub commit 02cc160e29d20631de3859c6653184e3f876b9d7 ile düzeltilmiştir. Düzeltme TensorFlow 2.6.0 sürümüne dahil edilecektir. Ayrıca etkilenen ve hala desteklenen aralıkta olan TensorFlow 2.5.1, TensorFlow 2.4.3 ve TensorFlow 2.3.4 sürümleri için de bu commit cherry-pick yöntemiyle uygulanacaktır.
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.