CVE-2023-26031

Yüksek

Açıklama

Linux üzerindeki Apache Hadoop 3.3.1-3.3.4 sürümlerinde, linux container-executor ikili dosyasındaki göreceli kütüphane çözümlemesi, yerel bir kullanıcının root yetkileri kazanmasına olanak tanır. Eğer YARN kümesi uzak (kimliği doğrulanmış) kullanıcılardan iş kabul ediyorsa, bu durum uzak kullanıcıların root yetkileri kazanmasına izin verebilir. Hadoop 3.3.0, kullanıcı tarafından gönderilen uygulamaları izole edilmiş linux konteynerlerinde yürütmek için bir özellik eklemek amacıyla "YARN Secure Containers https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/SecureContainer.html" kısmını güncellemiştir. Bu konteynerleri başlatmak için yerel ikili dosya HADOOP_HOME/bin/container-executor kullanılır; YARN süreçlerinin konteynerleri işleri gönderen belirli kullanıcılar olarak çalıştırabilmesi için bu dosyanın sahibi root olmalı ve suid biti ayarlanmış olmalıdır. "YARN-10495 https://issues.apache.org/jira/browse/YARN-10495 . make the rpath of container-executor configurable" yaması, .so dosyalarını yüklemek için kullanılan kütüphane yükleme yolunu "$ORIGIN/" değerinden "$ORIGIN/:../lib/native/" değerine değiştirmiştir. Bu, libcrypto.so dosyasının bulunduğu yoldur. Bu nedenle, düşük yetkilere sahip bir kullanıcının yazma erişimine sahip olduğu bir yola kötü amaçlı bir libcrypto kütüphanesi yüklemesi, container-executor komutunu çağırması ve değiştirilmiş kütüphanesinin root olarak yürütülmesi mümkündür. Eğer YARN kümesi uzak (kimliği doğrulanmış) kullanıcılardan iş kabul ediyorsa ve bu kullanıcıların gönderdiği işler bir konteyner yerine fiziksel ana makinede yürütülüyorsa, bu CVE uzak kullanıcıların root yetkileri kazanmasına izin verir. Zafiyetin çözümü, YARN-11441 https://issues.apache.org/jira/browse/YARN-11441 ("Revert YARN-10495") ile yapılan değişikliğin geri alınmasıdır. Bu yama hadoop-3.3.5 sürümünde yer almaktadır. Bir container-executor sürümünün savunmasız olup olmadığını belirlemek için readelf komutu kullanın. Eğer RUNPATH veya RPATH değeri "./lib/native/" göreceli yolunu içeriyorsa risk altındadır: $ readelf -d container-executor|grep 'RUNPATH\|RPATH' 0x000000000000001d (RUNPATH) Library runpath: [$ORIGIN/:../lib/native/] İçermiyorsa güvenlidir: $ readelf -d container-executor|grep 'RUNPATH\|RPATH' 0x000000000000001d (RUNPATH) Library runpath: [$ORIGIN/] Risk altındaki bir container-executor sürümünün yetki yükseltmeyi etkinleştirmesi için sahibinin root olması ve suid bitinin ayarlanmış olması gerekir: $ ls -laF /opt/hadoop/bin/container-executor ---Sr-s---. 1 root hadoop 802968 May 9 20:21 /opt/hadoop/bin/container-executor Güvenli bir kurulumda suid biti yoktur; ideal olarak sahibi de root değildir: $ ls -laF /opt/hadoop/bin/container-executor -rwxr-xr-x. 1 yarn hadoop 802968 May 9 20:21 /opt/hadoop/bin/container-executor Bu yapılandırma Yarn Secure Containers özelliğini desteklemez ancak güvenli konteynerlerin dışındaki YARN iş yürütmeleri dahil tüm diğer hadoop servisleri çalışmaya devam eder.

ÖnemYüksek
CVSS7.5
İstismar olasılığı—
ÜrünApache Hadoop
Yayın16 Kas 2023
İlk görülme16 Kas 2023
Zayıflık türüCWE-426CWE-426

Nasıl düzeltilir

Güncelleyin
  • org.apache.hadoop:hadoop-yarn-project3.3.5 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
apache hadoop3.3.1 ≤ v ≤ 3.3.4—
org.apache.hadoop:hadoop-yarn-projectMaven3.3.1 ≤ v < 3.3.53.3.5

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.

Intelligence 360 paketinde

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.