- Aktif istismar
- Yama var
- CWE-122
CVE-2023-4911
glibc ld.so tampon taşması, GLIBC_TUNABLES ile ayrıcalık yükseltmeye yol açıyor
- Yayımlandı
- Güncellendi
- 15 Eki 2026
- Açık yaşı
- 1120 gün
- Kaydı açan
- redhat
ÖzetTürkçe
GNU C Kütüphanesi'nin (glibc) dinamik yükleyicisi ld.so, GLIBC_TUNABLES ortam değişkeni işlenirken bir tampon taşması (buffer overflow) hatasına sahiptir. Bu sorun, yerel bir saldırganın SUID izni ile çalıştırılan ikili dosyalar başlatılırken kötü niyetli biçimlendirilmiş GLIBC_TUNABLES ortam değişkenlerini kullanarak yükseltilmiş ayrıcalıklarla kod çalıştırmasına olanak tanıyabilir.
Kaynaktaki açıklama (İngilizce)
A buffer overflow was discovered in the GNU C Library's dynamic loader ld.so while processing the GLIBC_TUNABLES environment variable. This issue could allow a local attacker to use maliciously crafted GLIBC_TUNABLES environment variables when launching binaries with SUID permission to execute code with elevated privileges.
Üreticinin geçici önlemi (İngilizce)
For customers who cannot update immediately and do not have Secure Boot feature enabled, the issue can be mitigated using the provided SystemTap script with the following steps. When enabled, any setuid program invoked with GLIBC_TUNABLES in the environment will be terminated immediately. To invoke the setuid program, users will then have to unset or clear the GLIBC_TUNABLES envvar, e.g. GLIBC_TUNABLES= sudo .
Note that these mitigation steps will need to be repeated if the system is rebooted.
1) Install required systemtap packages and dependencies as per - https://access.redhat.com/solutions/5441
2) Create the following systemtap script, and name it stap_block_suid_tunables.stp:
~~~
function has_tunable_string:long()
{
name = "GLIBC_TUNABLES"
mm = @task(task_current())->mm;
if (mm)
{
env_start = @mm(mm)->env_start;
env_end = @mm(mm)->env_end;
if (env_start != 0 && env_end != 0)
while (env_end > env_start)
{
cur = user_string(env_start, "");
env_name = tokenize(cur, "=");
if (env_name == name && tokenize("", "") != "")
return 1;
env_start += strlen (cur) + 1
}
}
return 0;
}
probe process("/lib*/ld*.so*").function("__tunables_init")
{
atsecure = 0;
/* Skip processing if we can't read __libc_enable_secure, e.g. core dump
handler (systemd-cgroups-agent and systemd-coredump). */
try { atsecure = @var("__libc_enable_secure"); }
catch { printk (4, sprintf ("CVE-2023-4911: Skipped check: %s (%d)", execname(), pid())); }
if (atsecure && has_tunable_string ())
raise (9);
}
~~~
3) Load the systemtap module into the running kernel:
~~~
stap -g -F -m stap_block_suid_tunables stap_block_suid_tunables.stp
~~~
4) Ensure the module is loaded:
~~~
lsmod | grep -i stap_block_suid_tunables
stap_block_suid_tunables 249856 0
~~~
5) Once the glibc package is updated to the version containing the fix, the systemtap generated kernel module can be removed by running:
~~~
rmmod stap_block_suid_tunables
~~~
If Secure Boot is enabled on a system, the SystemTap module must be signed. An external compiling server can be used to sign the generated kernel module with a key enrolled into the kernel's keyring or starting with SystemTap 4.7 you can sign a module without a compile server. See further information here - https://www.redhat.com/sysadmin/secure-boot-systemtap
CISA'nın önerdiği eylem (İngilizce)
Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.
Bu açığın açıklamasını Türkçeye çevirdik. Adım adım çözüm önerilerini kritik ve yeni açıklar için hazırlıyoruz; düzeltilmiş sürüm aşağıdaki tabloda, ayrıntılar üreticinin duyurusunda.
Etkilenen sürümler8 yazılım
| Yazılım | Etkilenen | Düzeltildiği sürüm |
|---|---|---|
| glibc | ≥ 2.34, < 2.39 | 2.39 |
| Red Hat Enterprise Linux 6 | Sürüm belirtilmemiş | – |
| Red Hat Enterprise Linux 7 | Sürüm belirtilmemiş | – |
| Red Hat Enterprise Linux 8 | ≥ 0:2.28-225.el8_8.6 Etkilenmiyor | – |
| Red Hat Enterprise Linux 8.6 Extended Update Support | ≥ 0:2.28-189.6.el8_6 Etkilenmiyor | – |
| Red Hat Enterprise Linux 9 | ≥ 0:2.34-60.el9_2.7 Etkilenmiyor | – |
| Red Hat Enterprise Linux 9.0 Extended Update Support | ≥ 0:2.34-28.el9_0.4 Etkilenmiyor | – |
| Red Hat Virtualization 4 for Red Hat Enterprise Linux 8 | ≥ 0:2.28-189.6.el8_6 Etkilenmiyor | – |
| ≥ 0:4.5.3-10.el8ev Etkilenmiyor | – | |
| ≥ 0:4.5.3-202312060823_8.6 Etkilenmiyor | – |
Kaynaklar11 kaynak
- CVE.org kaydı
- NVD kaydı
- access.redhat.com/errata/RHSA-2023:5453 Üretici bülteni
- access.redhat.com/errata/RHSA-2023:5454 Üretici bülteni
- access.redhat.com/errata/RHSA-2023:5455 Üretici bülteni
- access.redhat.com/errata/RHSA-2023:5476 Üretici bülteni
- access.redhat.com/errata/RHSA-2024:0033 Üretici bülteni
- bugzilla.redhat.com/show_bug.cgi Üçüncü taraf
- access.redhat.com/security/cve/CVE-2023-4911 Diğer
- qualys.com/…les-local-privilege-escalation-glibc-ld-so.txt Diğer
- qualys.com/cve-2023-4911 Diğer
Kayıt geçmişi
- CISA KEV listesine eklendi (saldırılarda kullanılıyor)
- Yayımlandı
İlgili açıklar
Türkçe metin, resmi kayıtlardaki bilgilerle yapay zekâ yardımıyla yazıldı ve yayından önce otomatik kontrollerden geçti. Bir değişikliği uygulamadan önce üreticinin duyurusuna mutlaka bakın.