
TL;DR
Luka CVE‑2025‑0111 pozwala uwierzytelnionemu napastnikowi z dostępem sieciowym do interfejsu zarządzania PAN‑OS odczytywać pliki systemowe czytelne przez użytkownika nobody. Ryzyko rośnie przy wystawieniu interfejsu na Internet (np. port 4443 na interfejsie dataplane z profilem management). Producent udostępnił wydania naprawcze oraz sygnatury Threat ID 510000/510001 (pakiet Apps&Threats ≥ 8943). W praktyce: załataj, ogranicz źródła IP do zaufanych, sprawdź, czy nie doszło do łańcuchowej eksploatacji z CVE‑2025‑0108/CVE‑2024‑9474, i zrotuj sekrety, jeżeli masz podejrzenie naruszenia.
Krótka definicja techniczna
Authenticated File Read w portalu zarządzania PAN‑OS: błąd kontroli ścieżki (CWE‑73), który umożliwia po zalogowaniu oraz z dostępem sieciowym do UI odczyt plików z systemu plików urządzenia, o ile są one czytelne przez konto systemowe nobody. To naruszenie poufności bez bezpośredniego wpływu na integralność/ dostępność.
Gdzie występuje / przykłady platform
- Fizyczne NGFW (PA‑Series) oraz VM‑Series (on‑prem/ESXi, AWS/Azure/GCP) — jeżeli interfejs zarządzania dostępny z niezaufanej sieci.
- CN‑Series (Kubernetes) — gdy profil management nadany interfejsowi dataplane/Service LB i port mgmt (typ. 4443) dostępny publicznie.
- Nie dotyczy: Cloud NGFW i Prisma Access.
Szczegółowy opis techniki (jak działa, cele, dlaczego jest skuteczna)
Wadliwa walidacja/normalizacja ścieżek w webowym interfejsie zarządzania PAN‑OS pozwala po pomyślnym uwierzytelnieniu wykonywać zapytania skutkujące odczytem plików (zakres: pliki czytelne przez nobody). Skuteczność ataku rośnie, gdy:
- Interfejs mgmt jest osiągalny z Internetu (bez filtrów źródeł); 2) napastnik dysponuje ważnymi poświadczeniami (np. uzyskanymi inną techniką); 3) podatność jest łączona w łańcuch z innymi błędami (np. CVE‑2025‑0108 i CVE‑2024‑9474), co obserwowano w praktyce. Ujawnione pliki mogą zawierać metadane/konfiguracje ułatwiające eskalację i dalsze działania (rekonesans, wyciek).
Status i ocena producenta: CVSS‑BT 7.1 (HIGH), Exploitation: ATTACKED. Producent wydał poprawki dla gałęzi 10.1, 10.2, 11.1, 11.2 oraz wskazał, iż starsze EoL (9.x/10.0/11.0) uznaje się za podatne i nie będą łatane.
Artefakty i logi
| PAN‑OS Threat log | Sygnatury Threat ID 510000/510001 | threatid, action, src, dst, app, rule | Wydane w Apps&Threats ≥ 8943 — blokada/alert prób eksploatacji. |
| PAN‑OS System log | Zdarzenia logowania/administracji | anomalne logowania do UI, zmiany w profilu mgmt | Do korelacji z dostępem z zewnętrznych ASN. |
| PAN‑OS web‑server access (mp‑log) | Dostępy do /php/* / UI | Nietypowe źródła, wzorce żądań | W praktyce forwardowane przez syslog lub inspekcja na urządzeniu. |
| PAN‑OS Traffic log | Ruch do portów 443/4443 na IP zarządzania | dst_port in (443,4443), action=allow, źródła spoza RFC1918 | Służy do wykrywania ekspozycji/nieautoryzowanych źródeł. |
| AWS CloudTrail | AuthorizeSecurityGroupIngress, CreateLoadBalancerListeners | Otworzenie 443/4443 na 0.0.0.0/0 | Wczesny sygnał błędnej ekspozycji UI w chmurze. |
| K8s audit | create/patch Service/Ingress | Service typu LoadBalancer/NodePort eksponujący 4443 | Dot. CN‑Series/środowisk PoC. |
| M365/Entra | [brak danych] | — | Nie dotyczy tej luki. |
| Windows (EID) | [brak danych] | — | Nie dotyczy — luka po stronie urządzenia PAN‑OS. |
Detekcja (praktyczne reguły)
Sigma — wykrycie sygnatur producenta (Threat log)
title: PAN-OS CVE-2025-0111 — Threat ID detection id: 0d6b9c2a-5d0e-4e77-98a7-24d0a1c9a111 status: experimental logsource: product: pan-os service: threat detection: sel_ids: threatid|endswith: - '510000' - '510001' sel_text: threatname|contains: 'CVE-2025-0111' condition: sel_ids or sel_text fields: - src - dst - app - rule - action - threatid level: high tags: - cve.CVE-2025-0111 - attack.T1190Sigma — dostęp do UI zarządzania z Internetu (Traffic log)
title: PAN-OS Management UI from External IPs (443/4443) id: 3b1aaf9e-1f76-4e4d-9b86-b3c59a4d4443 status: experimental logsource: product: pan-os service: traffic detection: sel: action: 'allow' dst_port|in: - 443 - 4443 not_internal_src: src_ip|cidr: - '10.0.0.0/8' - '172.16.0.0/12' - '192.168.0.0/16' condition: sel and not not_internal_src fields: - src_ip - dst_ip - rule - app - vsys level: medium tags: - hardening.exposureSplunk (SPL)
Wykrycie Threat ID / prób eksploatacji:
(index=pan* sourcetype=pan:threat) | eval threatid_str=tostring(threatid) | where threatid_str IN ("510000","510001") OR like(threat_name, "%CVE-2025-0111%") | stats count min(_time) as first_seen max(_time) as last_seen by src dst app rule action threatid threat_name vsysDostęp do UI mgmt z Internetu:
(index=pan* sourcetype=pan:traffic action=allowed) (dest_port IN (443,4443)) NOT (cidrmatch("10.0.0.0/8", src_ip) OR cidrmatch("172.16.0.0/12", src_ip) OR cidrmatch("192.168.0.0/16", src_ip)) | lookup firewall_mgmt_ips ip as dest_ip OUTPUTNEW device role | search role="mgmt" | stats dc(src_ip) as uniq_sources values(src_ip) as sources count by dest_ip rule app vsysKQL (Microsoft Sentinel / AMA + CEF)
// Threat IDs 510000/510001 (CEF -> DeviceEventClassID) CommonSecurityLog | where DeviceVendor =~ "Palo Alto Networks" | where DeviceEventClassID in ("510000","510001") or AdditionalExtensions contains "CVE-2025-0111" | summarize count(), min(TimeGenerated), max(TimeGenerated) by SourceIP, DestinationIP, DeviceEventClassID, Activity, DeviceAction // Ruch do UI mgmt z Internetu (443/4443) -> wymaga listy IP mgmt w watchliście let MgmtIPs = dynamic(["198.51.100.10","203.0.113.5"]); // przykład CommonSecurityLog | where DeviceVendor =~ "Palo Alto Networks" and Activity has_cs "TRAFFIC" | where DestinationPort in ("443","4443") and DestinationIP in (MgmtIPs) | where ipv4_is_private(SourceIP) == false | summarize by TimeGenerated, SourceIP, DestinationIP, DestinationPort, DeviceActionAWS CloudTrail Lake (SQL) — ekspozycja mgmt przez SG/ELB
-- Zmiany otwierające 443/4443 na 0.0.0.0/0 SELECT eventTime, eventSource, eventName, userIdentity.sessionContext.sessionIssuer.arn AS actor, requestParameters FROM aws_cloudtrail_events WHERE eventName IN ('AuthorizeSecurityGroupIngress','CreateSecurityGroup','CreateLoadBalancerListeners','ModifyLoadBalancerAttributes') AND (requestParameters LIKE '%0.0.0.0/0%') AND (requestParameters LIKE '%443%' OR requestParameters LIKE '%4443%') ORDER BY eventTime DESC;Elastic / EQL
any where event.dataset == "panw.threat" and (panw.threat.id in ("510000","510001") or message =~ "CVE-2025-0111")Heurystyki / korelacje
- Dostęp do UI z zewnętrznych ASN ⟺ logowanie admina ⟺ odczyt/zmiany konfiguracji (System log).
- Wyzwolenie Threat ID 510000/510001 ⟺ ciągłe próby z jednego źródła ⟺ brak wcześniejszej aktywności tego IP.
- Nagłe upublicznienie portu 4443/443 (CloudTrail/K8s audit) ⟺ nowe alerty Threat ⟺ zmiany haseł/kluczy w krótkim oknie czasu.
False positives / tuning
- Ruch z monitoringu/NAC/VPN podszywający się pod „zewnętrzny” (np. testy dostępności).
- Maintenance (serwis dostawcy) — jednorazowy dostęp spoza korp.
- Dla sygnatur — testowe skanery i pentesty w labie.
Tuning: listy zaufanych źródeł, mapowanie IP mgmt w SIEM, korelacja z oknami serwisowymi.
Playbook reagowania (IR)
- Triage/izolacja ekspozycji
- Zidentyfikuj, czy UI mgmt jest publicznie dostępny; jeżeli tak, zablokuj/ogranicz źródła (ACL, SG, WAF) do zaufanych IP.
- Patching
- Zaktualizuj do wersji naprawczej: 10.1.14‑h9+, 10.2.x‑h21/h24/h14/h12/h6/… (wg tabeli), 11.1.6‑h1+/11.1.4‑h13+/11.1.2‑h18+, 11.2.4‑h4+ lub 11.2.5+. Starsze EoL — migracja/wymiana.
- Zabezpieczenia prewencyjne
- Włącz/zweryfikuj subskrypcję Threat Prevention i sygnatury Threat ID 510000/510001 (Apps&Threats ≥ 8943).
- Hunting
- Przejrzyj logi Threat/System/Traffic pod kątem prób/udanych dostępów.
- Oceń korelację z CVE‑2025‑0108/CVE‑2024‑9474 (możliwe łańcuchy).
- Remediacja sekrety (gdy podejrzenie nadużycia):
- Zmień master key (AES‑256‑GCM), hasła/PSK/secrety, unieważnij i wydaj ponownie certyfikaty z kluczami prywatnymi na urządzeniu.
- Edukacja i kontrola zmian
- Wymuś politykę „jump‑box only” do UI mgmt; przegląd SG/ACL/Ingress.
Przykłady z kampanii / case studies
- Eksploatacja łańcuchowa: producent i niezależne raporty wskazały próby łączenia CVE‑2025‑0108 + CVE‑2024‑9474 + CVE‑2025‑0111 na niezałatanych i źle zabezpieczonych interfejsach mgmt.
- Advisory/monitoring: Armis i HKCERT klasyfikują ryzyko jako wysokie; zalecają priorytetowy patching i ograniczenie ekspozycji.
- Bazy podatności: NVD/CVE.org/Tenable/Rapid7 dokumentują charakter luki, wektor i brak wpływu na Cloud NGFW/Prisma Access.
Lab (bezpieczne testy) — przykładowe kroki/komendy
Tylko w odizolowanym labie. Nie wykonuj testów wobec cudzych systemów. Scenariusz ma zweryfikować detekcje i hardening, nie eksploatować luki.
- Weryfikacja wersji i contentu (CLI PAN‑OS):
- show system info → sprawdź sw-version.
- request content upgrade check / request content upgrade download latest / request content upgrade install version <>=8943 (upewnij się, iż Threat ID 510000/510001 są obecne).
- Tymczasowe logowanie dostępu do UI
- Skonfiguruj forwarding System/Threat/Traffic do SIEM.
- Z dozwolonego hosta wewnętrznego wygeneruj benign ruch do UI: curl -k https://<fw-mgmt>:4443/ (sprawdź, czy powstają zapisy w Traffic/System).
- Testy detekcji w SIEM
- Uruchom podane zapytania Splunk/KQL/Elastic; w razie braku rzeczywistych zdarzeń skorzystaj z generatorów logów testowych (np. sample CEF) z symbolicznym threatid=510000 (bez faktycznej próby eksploatacji).
- Hardening
- Zaimplementuj listę zaufanych źródeł (ACL/SG) i regułę „jump‑box only”; potwierdź, iż ruch spoza listy nie dociera do UI.
Mapowania (Mitigations, powiązane techniki)
Mitigations (ATT&CK)
- M1051 — Update Software (aktualizacje PAN‑OS do wersji naprawczych).
- M1037 — Filter Network Traffic (restrykcja źródeł do UI, tylko zaufane IP).
- M1030 — Network Segmentation (dostęp przez jump‑host/VPN).
- M1042 — Disable or Remove Feature or Program (wyłączenie profilu mgmt na interfejsach dataplane, jeżeli zbędny).
- M1027 — Password Policies / M1026 — Privileged Account Management (rotacja sekretów/mk, least privilege).
Techniki (ATT&CK)
T1190 — Exploit Public‑Facing Application
Dotyczy nadużycia błędu w aplikacji web wystawionej publicznie (UI mgmt). Tu: wymaga PR:L (zalogowanego aktora), ale wektor przez cały czas AV:N i kanał webowy.
T1078 — Valid Accounts
Warunek konieczny: ważne konto z dostępem do UI mgmt (np. po phishingu/wycieku). Korelować logowania z nietypowych ASN.
T1005 — Data from Local System
Odczyt plików z systemu plików urządzenia w celu pozyskania informacji pomocnych do dalszych faz ataku.
Źródła / dalsza lektura
- Palo Alto Networks — Advisory (CVE‑2025‑0111): opis, wersje naprawcze, Threat ID 510000/510001, zalecenia dot. master key/rotacji sekretów. (Palo Alto Networks Security)
- NVD (nist.gov) — karta CVE. (NVD)
- CVE.org — rekord producenta. (CVE)
- Tenable / Rapid7 — podsumowania ryzyka i przypomnienie o ograniczeniu dostępu do UI. (Tenable®)
- FortiGuard / H‑ISAC / HKCERT / Armis — doniesienia o łańcuchach eksploatacyjnych i „in‑the‑wild”. (FortiGuard)
- MITRE ATT&CK — Version history (v18.1). (MITRE ATT&CK)
Checklisty dla SOC / CISO
SOC (operacyjne):
- Czy posiadamy watchlistę IP mgmt i aktywne reguły dla portów 443/4443?
- Czy SIEM odbiera Threat/System/Traffic z NGFW i wzbogaca o ASN/CIDR?
- Czy alertujemy na Threat ID 510000/510001 (wysoki priorytet)?
- Czy działają korelacje: zdalny dostęp do UI logowanie admina zmiana config?
- Czy przeprowadzono hunt pod kątem prób łańcuchowych (CVE‑2025‑0108/2024‑9474/2025‑0111)?
CISO / właściciel ryzyka:
- Czy interfejs mgmt nie jest dostępny z Internetu (architektura „jump‑box only”)?
- Czy wszystkie instancje mają wersje naprawcze (wg tabeli producenta)?
- Czy mamy proces rotacji sekretów/master key/certyfikatów po incydencie?
- Czy SLA na Apps&Threats content gwarantuje ≥ 8943 i autoupdate?
- Czy polityki least privilege dotyczą również kont administracyjnych NGFW?



