CVE-2022-46169: Unauthenticated Command Injection
Noroxi değerlendirmesi
Öncelik: Hemen (aksiyon skoru 99/100)
- CISA bu açığın sahada sömürüldüğünü doğruladı (16 Şub 2023). ABD kamu kurumları için kapatma son tarihi 9 Mar 2023.
- Hazır saldırı modülü yayımlanmış (Metasploit, Nuclei); sömürmek özel uzmanlık gerektirmiyor.
- Önümüzdeki 30 günde sömürülme olasılığı %99,8 (FIRST EPSS); kayıtların %99,9 kadarından yüksek.
- İnternetten erişebilen herkes tetikleyebilir. Hesap ya da parola gerekmez. Kullanıcının bir şey yapması gerekmez. Özel bir koşul gerekmez; tekrarlanabilir.
- Düzeltilmiş sürüm: cacti (Debian:10) 1.2.2+ds1-2+deb10u5; cacti (Debian:11) 1.2.16+ds1-2+deb11u1; cacti (Debian:12) 1.2.22+ds1-3.
- Ulusal siber güvenlik bildirimlerinde (siberguvenlik.gov.tr) 1 kez anıldı.
Bugün yamayın ya da erişimi kapatın. cacti (Debian:10) 1.2.2+ds1-2+deb10u5; cacti (Debian:11) 1.2.16+ds1-2+deb11u1; cacti (Debian:12) 1.2.22+ds1-3 ya da daha yeni sürüme yükseltin.
Kaydın verisinden otomatik üretilir: CVSS (NVD ve CNA), CISA KEV ve SSVC, FIRST EPSS, istismar kaynakları, düzeltme sürümleri. Nasıl hesaplıyoruz
Birincil kaynaklar: NVD · CVE.org · CISA KEV · FIRST EPSS
Cacti is an open source platform which provides a robust and extensible operational monitoring and fault management framework for users. In affected versions a command injection vulnerability allows an unauthenticated user to execute arbitrary code on a server running Cacti, if a specific data source was selected for any monitored device. The vulnerability resides in the `remote_agent.php` file. This file can be accessed without authentication. This function retrieves the IP address of the client via `get_client_addr` and resolves this IP address to the corresponding hostname via `gethostbyaddr`. After this, it is verified that an entry within the `poller` table exists, where the hostname corresponds to the resolved hostname. If such an entry was found, the function returns `true` and the client is authorized. This authorization can be bypassed due to the implementation of the `get_client_addr` function. The function is defined in the file `lib/functions.php` and checks serval `$_SERVER` variables to determine the IP address of the client. The variables beginning with `HTTP_` can be arbitrarily set by an attacker. Since there is a default entry in the `poller` table with the hostname of the server running Cacti, an attacker can bypass the authentication e.g. by providing the header `Forwarded-For: <TARGETIP>`. This way the function `get_client_addr` returns the IP address of the server running Cacti. The following call to `gethostbyaddr` will resolve this IP address to the hostname of the server, which will pass the `poller` hostname check because of the default entry. After the authorization of the `remote_agent.php` file is bypassed, an attacker can trigger different actions. One of these actions is called `polldata`. The called function `poll_for_data` retrieves a few request parameters and loads the corresponding `poller_item` entries from the database. If the `action` of a `poller_item` equals `POLLER_ACTION_SCRIPT_PHP`, the function `proc_open` is used to execute a PHP script. The attacker-controlled parameter `$poller_id` is retrieved via the function `get_nfilter_request_var`, which allows arbitrary strings. This variable is later inserted into the string passed to `proc_open`, which leads to a command injection vulnerability. By e.g. providing the `poller_id=;id` the `id` command is executed. In order to reach the vulnerable call, the attacker must provide a `host_id` and `local_data_id`, where the `action` of the corresponding `poller_item` is set to `POLLER_ACTION_SCRIPT_PHP`. Both of these ids (`host_id` and `local_data_id`) can easily be bruteforced. The only requirement is that a `poller_item` with an `POLLER_ACTION_SCRIPT_PHP` action exists. This is very likely on a productive instance because this action is added by some predefined templates like `Device - Uptime` or `Device - Polling Time`. This command injection vulnerability allows an unauthenticated user to execute arbitrary commands if a `poller_item` with the `action` type `POLLER_ACTION_SCRIPT_PHP` (`2`) is configured. The authorization bypass should be prevented by not allowing an attacker to make `get_client_addr` (file `lib/functions.php`) return an arbitrary IP address. This could be done by not honoring the `HTTP_...` `$_SERVER` variables. If these should be kept for compatibility reasons it should at least be prevented to fake the IP address of the server running Cacti. This vulnerability has been addressed in both the 1.2.x and 1.3.x release branches with `1.2.23` being the first release containing the patch.
- Yayın
- 5 Ara 2022
- Güncelleme
- 17 Haz 2026
- EPSS
- %99,8 · 99. yüzdelik
- CWE
- CWE-74
Rapor araçları
Aksiyon skoru
99
Bugün yamayın ya da erişimi kapatın.
- CVSS
- 39 / 40 · 9.8 / 10
- CISA KEV
- 30 / 30 · Listede
- EPSS
- 30 / 30 · %99,8
CISA SSVC kararı
- Sömürü
- aktif
- Otomatikleştirilebilir
- hayır
- Teknik etki
- tam
Vulnrichment: CISA'nın karar ağacı girdileri.
CNA ile NVD puanı
- NVD
- 9,8
- CNA · GitHub_M
- 9,8
- uyumlu
Kaydı açan otoritenin puanı ile NVD’nin bağımsız puanı. İki puan arasındaki fark ciddiyetin tartışmalı olduğunu gösterir.
Sahada aktif sömürülüyor
CISA bu zafiyeti 16 Şub 2023 tarihinde fiilen sömürülen zafiyetler kataloğuna (KEV) ekledi. Bu, teoriyi değil, gerçek saldırıları işaret eder.
ABD federal kurumları için son yama tarihi: 9 Mar 2023.
Bu kayıt değişirse haber alın
- CISA KEV'de: sahada sömürüldüğü doğrulandı
- Silahlaştırılmış istismar var
- Düzeltme yayımlandı
Bunlardan biri değişirse günlük e-posta özetinde haber veririz.
Sürümünüz etkileniyor mu? Kontrol edinNoroxi analizi
Sizin ortamınızda ne anlama geliyor?
Yukarıdaki değerlendirme kaydın verisinden otomatik üretilir; ortamınızı bilmez. Bu açığın sizde gerçekten sömürülebilir olup olmadığını ve hangi önlemin yeteceğini ekibimiz sizin sistemlerinizde doğrular.
Bu ürünü kullanıyoruz, yardım isteyinEtkilenen sistemler
Sürümünüz etkileniyor mu?
Ürünü seçip kullandığınız sürümü yazın. Bu kaydın sürüm aralıklarıyla tarayıcınızda karşılaştırılır; sürüm hiçbir yere gönderilmez.
| Üretici | Ürün | CPE |
|---|---|---|
| cacti | cacti | cpe:2.3:a:cacti:cacti |
Üreticinin bildirdiği sürümler
Kaydı açan otorite (GitHub_M) tarafından bildirilen etkilenen sürüm aralıkları. NVD'nin CPE analizinden bağımsızdır ve genellikle ondan önce gelir.
Cacti cacti
- < 1.2.23etkilenir
Etkilenen sürümler
NVD sürüm aralıkları (katalogdaki ürünler için). Stack’inize sürümle eklerseniz eşleşme bunlarla yapılır.
- cacti cacti1.2.23 öncesi
Paket düzeyi etkilenme
OSV ve GitHub Advisory verisi: ekosistem, paket ve aralık. SBOM eşleşmesi bu tabloyu kullanır.
| Ekosistem | Paket | Etkilenen aralık | Düzeltme |
|---|---|---|---|
| Debian:10 | cacti | 1.2.2+ds1-2+deb10u5 öncesi | 1.2.2+ds1-2+deb10u5 |
| Debian:11 | cacti | 1.2.16+ds1-2+deb11u1 öncesi | 1.2.16+ds1-2+deb11u1 |
| Debian:12 | cacti | 1.2.22+ds1-3 öncesi | 1.2.22+ds1-3 |
| openSUSE:Leap 15.4 | cacti | 1.2.23-bp154.2.6.1 öncesi | 1.2.23-bp154.2.6.1 |
| openSUSE:Leap 15.4 | cacti-spine | 1.2.23-bp154.2.6.1 öncesi | 1.2.23-bp154.2.6.1 |
| openSUSE:Tumbleweed | cacti | 1.2.23-1.1 öncesi | 1.2.23-1.1 |
| SUSE:Package Hub 12 | cacti | 1.2.23-bp154.2.6.1 öncesi | 1.2.23-bp154.2.6.1 |
| SUSE:Package Hub 12 | cacti-spine | 1.2.23-bp154.2.6.1 öncesi | 1.2.23-bp154.2.6.1 |
Aynı üründe
cacti: tüm kayıtlarAynı birincil ürünün en yüksek skorlu diğer kayıtları.
- CVE-2024-29895Cacti command injection in cmd_realtime.php70Bu hafta
- CVE-2023-39361Unauthenticated SQL Injection in graph_view.php in Cacti66Bu hafta
- CVE-2023-49085Cacti SQL Injection vulnerability57Planlayın
Bu üründe bundan önce ve sonra yayımlananlar
- ← ÖncekiCVE-2021-381619 Oca 2022 · Cacti 1.1.38 allows authenticated users with User Management permissions to inject arbitrary HTML in the group_prefix field during the…21İzleyin
- ← ÖncekiCVE-2022-07303 Mar 2022 · Under certain ldap conditions, Cacti authentication can be bypassed with certain credential types.40Planlayın
- Sonraki →CVE-2023-3754310 Ağu 2023 · Cacti before 1.2.6 allows IDOR (Insecure Direct Object Reference) for accessing any graph via a modified local_graph_id parameter to…30İzleyin
Düzeltme
Hangi sürüme geçmeli
Üretici, paket deposu ve Microsoft kayıtlarından derlenen düzeltme sürümleri. Yükseltmeden önce üreticinin notunu doğrulayın.
| Ürün / paket | Düzeltilmiş sürüm | Kaynak |
|---|---|---|
| debian:cacti | 1.2.22+ds1-3 · Debian:12 | Paket deposu (OSV) |
| opensuse:cacti | 1.2.23-bp154.2.6.1 · openSUSE:Leap 15.4 | Paket deposu (OSV) |
| opensuse:cacti-spine | 1.2.23-bp154.2.6.1 · openSUSE:Leap 15.4 | Paket deposu (OSV) |
| suse:cacti | 1.2.23-bp154.2.6.1 · SUSE:Package Hub 12 | Paket deposu (OSV) |
| suse:cacti-spine | 1.2.23-bp154.2.6.1 · SUSE:Package Hub 12 | Paket deposu (OSV) |
İstismar durumu
Silahlaştırılmış
Bu zafiyet için hazır bir istismar aracı ya da sahada aktif kullanım biliniyor. Önceliğiniz en üst düzeyde olmalı.
Kanıt
- Metasploit modülü ×1
- Exploit-DB kaydı ×1
- Nuclei tespit şablonu ×1
- GitHub’da kavram kanıtı deposu ×37
Noroxi istismar kodu barındırmaz ve istismar bağlantısı vermez. Metasploit modül adı ve Nuclei şablon kimliği gösterilir (kod değil, ad); Exploit-DB kayıtları ve PoC depoları yalnızca sayı olarak verilir.
| Kaynak | Tür | Tarih |
|---|---|---|
| GitHub’da kavram kanıtı deposu | 37 depo | 2022-12-07 → 2026-10-08 |
| Exploit-DB kaydı | webapps | 2023-03-31 |
| Metasploit modülü | exploit/linux/http/cacti_unauthenticated_cmd_injectionCacti 1.2.22 unauthenticated command injectionexploit | 2022-12-05 |
| Nuclei tespit şablonu | Nuclei şablonu CVE-2022-46169 | — |
Araştırma bağlamı
Pentester ve araştırmacı için: saldırı profili, puan anlaşmazlığı, zaman çizelgesi, yama commit’leri, kredi, varyant ve zincir adayları, bug bounty kapsamı. Hepsi mevcut veriden türetilir; istismar kodu içermez.
Zaman çizelgesi
Yayından bugüne: kavram kanıtı, Metasploit modülü, CISA KEV ve düzeltme kaydı. Tarihler kaynakların bildirdiği tarihlerdir.
- Metasploit-1 gün
- Yayın
- İlk kavram kanıtı+1 gün
- CISA KEV+72 gün
- Bugün14 Kas 2026+1439 gün
Yama ve commit bağlantıları
Referanslardaki commit, PR ve diff adresleri. Patch-diff ve varyant avı için başlangıç noktası; istismar değil, düzeltmedir.
Ulusal bildirim (Siber Güvenlik Başkanlığı / USOM)
Bu kaydı anan resmi güvenlik bildirimleri; çözüm önerisi kurumun sayfasında.
- TR-22-0723 · 6 Ara 2022(Cacti Güvenlik Güncellemesi)
Bu kayıtta yok: EPSS geçmişi · araştırmacı kredisi · varyant ya da zincir adayı · herkese açık ödül programı.
Teknik detay
Saldırı koşulları
- İnternetten erişebilen herkes tetikleyebilir.
- Hesap ya da parola gerekmez.
- Kullanıcının bir şey yapması gerekmez.
- Özel bir koşul gerekmez; tekrarlanabilir.
Başarılı olursa
- Gizlilik
- yüksek · veriler okunabilir
- Bütünlük
- yüksek · veri ya da yapılandırma değiştirilebilir
- Erişilebilirlik
- yüksek · hizmet durdurulabilir
- Saldırı vektörü
- Ağ
- Karmaşıklık
- Düşük
- Gereken yetki
- Yok
- Kullanıcı etkileşimi
- Gerekmez
- Kapsam
- Değişmez
- Gizlilik etkisi
- Yüksek
- Bütünlük etkisi
- Yüksek
- Erişilebilirlik etkisi
- Yüksek
Zayıflık sınıfı (CWE)
CWE-74 · Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')CVSS vektörü
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvd-primary
Saldırı bağlamı
Bu zafiyet sınıfının (CWE) MITRE CAPEC saldırı desenleri ve ATT&CK teknikleri. Tespit kuralı ve tehdit avı için başlangıç noktası.
Saldırı desenleri (CAPEC)
- Buffer Overflow via Environment VariablesCAPEC-10olasılık: High · High
- Server Side Include (SSI) InjectionCAPEC-101olasılık: High · High
- HTTP Request SplittingCAPEC-105olasılık: Medium · High
- Command Line Execution through SQL InjectionCAPEC-108olasılık: Low · Very High
- Double EncodingCAPEC-120olasılık: Low · Medium
- Subverting Environment Variable ValuesCAPEC-13olasılık: High · Very High
- Format String InjectionCAPEC-135olasılık: High · High
- Client-side Injection-induced Buffer OverflowCAPEC-14olasılık: Medium · High
Değişiklik günlüğü (1)
- Düzeltme✗ → ✓
Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →
Referanslar
Tüm referansları göster (3 daha)Daha az göster
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.