Blog · poza cyklem
Praktyka, analizy i komentarze z pola.
Wpisy, które nie mieszczą się w cyklu 12 części: rozbiory konkretnych przypadków, komentarze do świeżych podatności i notatki o tym, co naprawdę zmienia decyzję — nie kolor w skanerze.
83wpisy
VEbez CVSS-owego skrótu
Wpisy
Najnowsze na blogu
Najnowszy
Case study
Composer załatał path traversal, ale symlink i stary
CVE-2026-59944: bypass poprawki przez symlink i metadane installed.json. Cache CI przechowuje security-relevant state — aktualizacja binarium (2.10.3/2.2.30) może nie wystarczyć. Historia artefaktu bywa równie ważna jak numer wersji.
Czytaj wpis →
Analiza
Kernel ma CVE 8.4, ale prawdziwym problemem jest to, że
CVE-2026-80713: per-task restrictions io_uring znikały po CVE przypisane do Linux kernel, a podatny kod siedzi w userspace
CVE-2026-80671 to „Linux kernel Critical 9.3”, ale podatny plik to tools/perf/builtin-sched.c parsujący niezaufany perf.data. Jak zła granularność produktu generuje tysiące fałszywie pilnych findingów — Product → Package → Component → Runtime → Attack Path.
Czytaj wpis →
Case study
Masz tylko ograniczone
CVE-2026-81849: path traversal w pluginie
Grafana: kolizja klucza cache loguje zwykłego usera jako Administratora
CVE-2026-14199 (CVSS 7.1): tylko self-managed z Auth Proxy + identity caching (sync_ttl>0). Klucz cache konkatenował username i atrybuty bez separatora → kolizja tożsamości → logowanie jako Administrator. Configuration-aware VM; cache key jako authorization boundary. Czytaj wpis → AnalizaApache Tika: ten sam path traversal — Local 5.9 czy Network 7.5?
CVE-2026-66755: CVE/CISA 4.0 5.9 (AV:L/AT:P), NVD 7.5 (AV:N), bazy do 8.7. Różnica to model dostarczenia pliku (lokalny zapis vs upload przez aplikację). CVSS opisuje bibliotekę albo deployment; least privilege procesu jako compensating control. Czytaj wpis → Case studyJenkins + Entra ID: user tworzy grupę o tej samej nazwie i przejmuje prawa
CVE-2026-84672: plugin autoryzował grupy po GUID i po display name (nieunikalny) → przejęcie permissions. Fix 711.v34046f788fd7 (tylko GUID), ale insecure compatibility flag przywraca podatny model — patched binary ≠ effective remediation. Czytaj wpis → AnalizaOpenSSH: agent „locked”, a przez forwarded connection klucze wciąż działają
CVE-2026-73281 (USN-8721-1): błędna interakcja blokady agenta z session-bind@openssh.com pozwala remote attackerowi z forwarded agent connection używać kluczy. private key stays local, BUT sign/use capability is remotely reachable; affected asset to laptop/bastion/CI. Czytaj wpis → AnalizaGnuPG 2.9 Low: 4-bajtowy tag AES-GCM zamiast 12 — „Low” w kontroli integralności
CVE-2026-57062 (gpgsm, USN-8720-1): parser CMS AES-GCM akceptował aes-ICVlen 4 zamiast 12 → osłabienie tagu i obejście integralności. Severity ≠ wartość naruszonej security property; rewalidacja wyjątków opartych na integralności CMS/S/MIME. Czytaj wpis → Case studyGitHub Enterprise: unauthenticated SSRF, ale HA nie jest affected
CVE-2026-18730: SSRF przez Manage API → replayable management token; HA nie affected z powodu topologii. Dwie instancje z tą samą wersją, różny status — topology-aware VM zamiast samego version match. Czytaj wpis → AnalizaPikiwiDB: requirepass włączone, ale port replikacji omija kontrolę
CVE-2026-84700 (Pika 3.5.7): requirepass sprawdzane tylko w MetaSync; dispatcher obsługuje TrySync/DBSync/BinlogSync bez auth. Kontrola na jednej ścieżce protokołu to nie kontrola na wszystkich. Czytaj wpis → AnalizaLibreswan High 7.5, ale tylko FIPS + CA
CVE-2026-14957: w trybie FIPS malformed X.509 ubija pluto (DoS), ale wymaga FIPS mode i co najmniej jednego CA; PSK bez CA nie jest podatne. Configuration-aware affectedness i conditional VEX. Czytaj wpis → AnalizaSELinux fixfiles: podatny kod od lat, a Red Hat nadal ustala affected RHEL
CVE-2026-19079 (TOCTOU między find i chcon w fixfiles): zmiana SELinux label dowolnego pliku przez symlink. Red Hat: podatny /tmp cleanup istnieje od lat, ale product analysis wciąż trwa. „Under investigation” to nie „safe” — potrzebny jawny model niepewności ze statusem i deadline. Czytaj wpis → Case studySonicWall SMA1000 CVSS 10: pre-auth SSRF przez „alternate access path”
CVE-2026-83548: urządzenie jako pośrednik do wrażliwej funkcji bez punktu kontroli. Boundary omija nie złamanie auth, lecz ścieżka, na której auth w ogóle nie bierze udziału; dla edge — log review i compromise assessment. Czytaj wpis → AnalizaProxmox VE: krytyczny auth bypass dostał CVE, gdy releases są EOL
CVE-2023-54391 opublikowano w NVD 01.09.2026 — affected releases (7.0–8.0) są już EOL. Publication date ≠ początek podatności; nowa wiedza o starym exposure i retroaktywny exposure assessment. Czytaj wpis → AnalizaGitHub „Affected: Unknown”, opis „through 3.6.1” — FaceFusion
CVE-2026-84702: path traversal przez nieuwierzytelnione API. GHSA publikuje Affected/Patched „Unknown”, choć opis mówi „through 3.6.1” i fix 3.7.0. False negative na poziomie ingestion structured fields. Czytaj wpis → Case studyBookStack: po patchu vendor każe szukać „nieobrazków” w uploadach
BookStack v26.05.4 (m.in. CVE-2026-84695): stored XSS, ZIP import → RCE i inne. Patch nie usuwa historycznych artefaktów; jedna akcja deployment, wiele verification tracks; post-exploitation validation. Czytaj wpis → AnalizaGo crypto/tls: KeyUpdate bez końca — DoS zależny od runtime
CVE-2026-56862: powtarzane KeyUpdate → wyczerpanie CPU. golang bywa toolchainem/build-time dep; liczy się, które uruchomione binaria zawierają podatny crypto/tls. Patch toolchaina ≠ rebuild binariów. Czytaj wpis → AnalizaDokploy: publiczny exploit, ale brak jasnej patched version
CVE-2026-82954 (Dokploy ≤ 0.29.7, path traversal): exploit publiczny, vendor milczy, brak fixed version. Public PoC ≠ observed exploitation; evidence-driven controls z deadline; vendor-risk finding. Czytaj wpis → Case studyKeycloak 9.1: wyłącz „Forgot password” — koszt mitygacji
CVE-2026-18963: unauthenticated account takeover (także adminów). Mitigation prosta technicznie, ale kosztowna biznesowo i realm-specific. Mitigated ≠ Remediated; VM powinien śledzić business cost of mitigation. Czytaj wpis → AnalizaKeycloak: metryki Prometheusa jako attack surface
CVE-2026-16100: attacker-controlled wartości w labelach → cardinality explosion → wyczerpanie pamięci. „metrics enabled” zmienia affectedness jak feature flag; limit pamięci to crash-loop, nie remediation. Czytaj wpis → Case studyDevtron: zwykły user dostaje plaintext super-admin JWT
CVE-2026-82882 (CWE-862, Devtron ≤ 2.2.0): endpoint bez authorization zwraca super-admin JWT → platform takeover. PR:L opisuje wejście, nie władzę; credential-mediated privilege escalation; token rotation osobno. Czytaj wpis → Case studyHugging Face: consent check wykonany po file-write nie jest kontrolą
CVE-2026-80047 (Transformers 4.49.0–5.8.1): load_custom_generate() zapisuje zdalny kod do cache przed sprawdzeniem trust. Security decision musi poprzedzać pierwszy nieodwracalny side effect; cache jako część remediation. Czytaj wpis → Case studyJFrog Artifactory: default-config unauth admin — 9.8 vs niski EPSS
CVE-2026-82329 (CWE-287, CVSS 9.8, EPSS ~0,377%): unauthenticated admin under default config; Canadian Cyber Centre 01.09 wskazał exploitation in the wild. Obserwacja bije predykcję; cloud vs self-hosted; supply-chain blast radius. Czytaj wpis → Case studyPaperCut znów: KEV, publiczny exploit i Release 3
CVE-2026-81578 + CVE-2026-82078 tworzą pre-auth RCE chain. Po Release 2 przyszło Release 3 (supersedes), oba CVE w KEV i publiczny exploit (Metasploit). „Closed” musi być odwracalne; superseded remediation. Czytaj wpis → Case study„Upgrade: websocket” wyłącza uwierzytelnianie — RHACM
CVE-2026-71467: middleware pomija authentication przy nagłówku Upgrade: websocket; /federated dostępne pre-auth POST-em. Affectedness zależy od FEATURE_FEDERATED_SEARCH (default off w ACM, on w Global Hub). Czytaj wpis → Analizasvg-sanitizer: cztery advisories jednego dnia — variant analysis
Case folding, CSS injection/remote reference bypass, stored XSS przez DTD/HTML5 named refs, DoS przez DTD. Semantic equivalence across parsers; revalidacja wyjątków opartych na sanitizerze; sanitize + rasterize + CSP. Czytaj wpis → AnalizaJackson Path: skutek zależy od FileSystemProvider na classpathie
CVE-2026-19032: deserializacja Path → URI → lookup FileSystemProvider. Ta sama wersja, inna exploitability zależnie od providerów na runtime classpath; nieciągłe affected ranges; conditional VEX. Czytaj wpis → AnalizaWebKitGTK: „Affected: Unknown”, a Red Hat pokazuje ścieżki przez GNOME
CVE-2026-83596 (CVSS 8.8): GHSA bez wersji/pakietu, a Red Hat opisuje pakiety zależne (gnome-shell, yelp…) i warunek GUI + niezaufana treść. NVD/GHSA jako discovery, vendor jako operational affectedness. Czytaj wpis → AnalizaBlueZ 7.6: „remote” kończy się na zasięgu Bluetooth i discovery
CVE-2026-80186: spreparowany EIR podczas discovery → crash bluetoothd (możliwe RCE). Affectedness zależy od sprzętu, adaptera, bluetoothd, discovery i kontekstu radiowego; AV:A ≠ automatycznie niski priorytet. Czytaj wpis → Case studyJedno konto cPanel do roota całego serwera
CVE-2026-65643 (domain parking): uwierzytelniony właściciel konta tworzy arbitralne pliki → code execution jako root i przejęcie wszystkich kont. W multi-tenant hostingu konto klienta jest attacker-controlled by design. Czytaj wpis → AnalizaPubliczny exploit LPE, ale RHEL 6–9 nie są affected
CVE-2026-72137 (double free w xfrm): publiczny LPE exploit, ale kod od Linux 6.11 → RHEL 6/7/8/9 not affected. public exploit AND affected code AND local path; rozdziel KEV / PoC / weaponized / observed. Czytaj wpis → AnalizaBuildah: złośliwe repo wyciąga pliki spoza build context
CVE-2026-44517 (Buildah 1.38.1–1.43.1): symlinki przy Git/tar build context lub ADD/COPY → tokeny CI, kubeconfig, cloud creds w obrazie. CVSS 6.3 nie opisuje izolacji runnera; range-aware affectedness. Czytaj wpis → AnalizaOpenSSL: Low CVE możliwe zdalnie, ale tylko gdy używasz QUIC
CVE-2026-63075: ACK-only packets po handshake → memory growth → DoS. Miliony instalacji OpenSSL ≠ miliony podatnych usług QUIC; QUIC poza FIPS boundary; conditional VEX zależny od użycia QUIC. Czytaj wpis → AnalizaLinux netfs: CVSS 9.8 vs opis o brakującym locku — jakość danych
CVE-2026-64068: Ubuntu pokazuje CVSS 3.1 9.8 (AV:N) i CVSS 4.0 7.3 (AV:L/PR:L); tylko 26.04 affected. Zachowaj provenance obu ocen, zweryfikuj attack path i commit — nie eskaluj tylko dlatego, że kolumna ma 9.8. Czytaj wpis → AnalizaApache HttpClient: dwa CVE, odwrotna affectedness
CVE-2026-64607 (classic YES/async NO) i CVE-2026-71290 (classic NO/async YES): o affectedness decyduje execution model, nie obecność httpclient5. Library present ≠ vulnerable functionality used; unsupported ≠ not affected. Czytaj wpis → AnalizaUndertow: Affected, Will not fix, Fix deferred i Not affected
CVE-2026-81624 (WebSockets DoS): kluczowy jest product state. Affected ≠ „patch jest”; Will not fix ≠ false positive; Fix deferred ≠ risk accepted; Not affected + backporty. Rozdziel affectedness od remediation availability. Czytaj wpis → AnalizaZephyr: „Moderate DoS”, ale reboot w terenie
GHSA-x956-p489-8mf5: wyciek net_pkt przy IPv6 NS wyczerpuje pulę TX bez auto-recovery (wymagany reboot). CVSS nie zna kosztu recovery; attacker effort : defender recovery cost; Recovery Complexity i fleet VM. Czytaj wpis → Analizacpio: flaga włączona, gwarancja ominięta przez hard-link
CVE-2026-66484: --no-absolute-filenames sanitizowało nazwę pliku, ale nie cel hard linku przed link() → escape. Nie brak kontroli, lecz niepełny coverage; control lineage i rewalidacja wyjątków opartych na fladze. Czytaj wpis → AnalizaForeman: REST API sprawdza tenant, UI nie — cross-tenant przez UI
CVE-2026-81658: user z niskimi uprawnieniami czyta historyczny template innej organizacji przez UI; REST API (authorization-aware scope) nie affected. security property tested on A ≠ guaranteed on B; historyczne sekrety jako aktywo. Czytaj wpis → AnalizaJedno CVE, wiele różnych luk — Cisco grupuje podatności według CWE
Cisco Secure Workload: wiele luk pod jednym CVE (grupowanie po CWE), a remediation obejmuje Cluster/Agent/Connector. CVE to identyfikator wiedzy, nie zawsze jednostka pracy — „vendor patched” i „customer action required” mogą być prawdziwe naraz. Czytaj wpis → Case studyFreeRDP: CVE.org „bez uprawnień”, Red Hat „low privileges” — dwa modele zagrożenia
CVE-2026-67298 (heap overflow w server-side RAIL handler): CVE.org 7.5 PR:N, Red Hat 7.1 PR:L. Rozbieżność CVSS to różnica modeli zaufania, nie błąd. Feature exposure (server/proxy/shadow aktywne?) ważniejsze niż package presence; zachowaj oba score z provenance. Czytaj wpis → AnalizaKeycloak: CVE istnieje tylko przy jawnie niebezpiecznej konfiguracji
CVE-2026-18569 (backchannel logout, Red Hat Low 3.7) wymaga OIDC IdP z pominiętą walidacją podpisu (non-default). not affected vs not exploitable; conditional VEX z rewalidacją po configuration drift; low CVE ujawniający ważniejszy problem hardeningu. Czytaj wpis → Case studyCVSS 9.9, EPSS ~0,3% — OpenShift ACM i severity vs exploit probability
CVE-2026-66792 (multicloud-operators-subscription / RHACM): annotations Subscription → uprawnienia SA kontrolera → cluster-admin. CVSS 9.9, EPSS ~0,303%. CVSS i EPSS nie konkurują; global vs local probability; nie mnożyć bezmyślnie CVSS × EPSS. Czytaj wpis → AnalizaNetworkManager podatny tylko przy niestandardowym backendzie dhclient
CVE-2026-10805 (LPE przez spreparowany MUD URL) występuje tylko w backendzie dhclient, który administrator musi jawnie skonfigurować — default nie jest affected. CVSS 6.7, EPSS ~0,152%. Configuration query jako enrichment; warunkowa suppression zamiast „false positive forever”. Czytaj wpis → Case studyPaperCut: emergency patch, poprawka poprawki i CISA KEV
CVE-2026-81578/82078: aktywna eksploatacja, Emergency Patch Release 2 zastępujący pierwszy, regresje SAML/Card-ID i wejście do CISA KEV (31.08). Risk state jest dynamiczny — finding to zdarzenie, nie rekord; patch ≠ compromise assessment. Czytaj wpis → Case studypgAdmin 9.17 naprawia trzy incomplete fixy z 9.16
CVE-2026-17346/17348/17351 to incomplete fixy CVE z 9.16 (SQLi, brak @pga_login_required, read-only bypass przez lexer differential). Naprawa wystąpienia ≠ naprawa klasy błędu; remediation lineage i status REVALIDATION_REQUIRED zamiast Open/Closed. Czytaj wpis → AnalizaComposer załatał path traversal, ale symlink i stary vendor cache ominęły fix
CVE-2026-59944: bypass poprawki przez symlink i metadane installed.json. Cache CI przechowuje security-relevant state — aktualizacja binarium (2.10.3/2.2.30) może nie wystarczyć. Historia artefaktu bywa równie ważna jak numer wersji.
Czytaj wpis →
Analiza
Kontrola dostępu działała — tylko za wcześnie (AshPhoenix)
CVE-2026-82724: handle_subdomain wykonywał autoryzację, gdy tenant był jeszcze nil, bez ponowienia → cross-tenant access. To nie „brak autoryzacji”, tylko control present but executed before security context exists. Fix 2.3.25. Czytaj wpis → Case studyKaltura Player V2: memcache przerywa RCE chain, ale podatność zostaje
CVE-2026-19912/19913 (CERT/CC VU#308749): unsafe unserialize i niesanitizowany uiconf_id. Memcache-only blokuje etap file-write, nie usuwa root cause. „Known exploit no longer works” ≠ „root cause no longer exists”; legacy V2 vs wspierany V7; conditional risk acceptance. Czytaj wpis → Case studyOpenSSL „załatany”, ale fix CVE-2026-75803 w ogóle nie trafił do paczki
USN-8673-1 przypadkowo pominął fix (naprawia go USN-8678-3). Administrator wdrożył właściwą aktualizację, a finding i tak powinien pozostać otwarty — version-based closure ≠ binary/behavior verification. Czytaj wpis → Case studylibssh 0.12.1 deklarował fix, którego nie zawierał
CVE-2026-59843: commit przypadkowo wykluczony, 0.12.2 (i 0.11.5) wydano jako fixup. Jak walidować remediation, gdy „fixed in” to deklaracja, a nie dowód. Czytaj wpis → Analizacontainerd jest w SBOM, ale podatny CRI nigdy się nie uruchamia
CVE-2026-53489: OpenShift używa CRI-O, a containerd to build-time dependency — podatny checkpoint-restore się nie wykonuje. Package present ≠ reachable; miejsce na VEX, nie „False Positive”. Czytaj wpis → Case studyTrzy CVSS 10.0 w ServiceNow — hosted załatani przez vendora, self-hosted działają sami
CVE-2026-18885/18886/74820: ten sam CVE, różny remediation owner zależnie od modelu wdrożenia. Bez package/version mappingu scanner sam nie rozstrzyga exposure. Czytaj wpis → AnalizaUpstream: BIND 9.18 EOL. Ubuntu łata 9.18.39 — EOL upstreamu ≠ EOL pakietu
CVE-2026-13204: ISC oznacza gałąź 9.18 jako EOL (fix 9.20.26), a Ubuntu backportuje do 9.18.39. VE musi rozróżniać lifecycle upstreamu od lifecycle vendor package. Czytaj wpis → AnalizaOpenZFS: root-level operacje możliwe tylko przy /dev/zfs i unprivileged user namespaces
CVE-2026-79619: capability z user namespace traktowane jak host privilege. Dwa hosty z tym samym pakietem mają różną affectedness — namespace zmienia znaczenie „local privilege”. Czytaj wpis → Analizalibssh podatny na integralność SSH tylko z backendem OpenSSL
CVE-2026-59847: błąd EVP_DecryptFinal() degraduje AES-GCM do AES-CTR — ale tylko w buildach z OpenSSL. O exploitability decyduje, jak bibliotekę zbudowano, nie sam numer wersji. Czytaj wpis → AnalizaABRT: najlepszą remediation nie jest patch, tylko usunięcie martwego komponentu
CVE-2026-54228 (7.8): ABRT deprecated w RHEL 8, absent w RHEL 9+. Red Hat radzi wyłączyć/usunąć. Attack surface reduction lepszy niż patch legacy albo kolejny wyjątek. Czytaj wpis → AnalizaUnbound podatny tylko przy buildzie z DoQ i aktywnym quic-port
CVE-2026-14586: sam version match nie wystarcza — trzeba znać compile-time feature (--with-libngtcp2) i runtime config (quic-port). Podatność wymaga trzech warunków naraz. Czytaj wpis → AnalizaUDisks prowadzi do roota, ale tylko gdy fstab zawiera konkretne opcje
CVE-2026-7867 (7.8): as-user w Filesystem.Mount → root, ale wymaga wpisu fstab z x-udisks-auth/user/users. Konfiguracja systemowa jako warunek exploitability, nie tło. Czytaj wpis → Case studyMCP ma CVSS 10.0, ale GitHub pokazuje „Affected versions: Unknown”
CVE-2026-82456: high-confidence vuln (bind do wszystkich interfejsów, brak auth przy ustawionym tokenie) z niekompletnym package mappingiem. VE nie może biernie czekać, aż feed dojrzeje. Czytaj wpis → AnalizaCVSS 8.8, EPSS bardzo niski, a podatność łamie granicę guest–host
CVE-2026-80724: guest podnosi RO→RW (VM_MAYWRITE) i zapisuje dane timekeeping hosta. Niski EPSS nie powinien zaniżać priorytetu, gdy potwierdzona jest krytyczna trust boundary. Czytaj wpis → AnalizaKernel 8.4 PR:N, ale exploit zaczyna się od kontrolowania Device Tree przy boot
CVE-2026-80723: OOB write w fdt_scan_reserved_mem(). Affected kernel nie wystarcza — VE musi ustalić, kto realnie kontroluje Device Tree używane podczas bootu. Czytaj wpis → Case study150 tys. downloadów, 10 złośliwych wersji w 21 minut — kiedy SCA musi pytać „czy build już wykonał malware?”
Supply-chain compromise pakietu npm @7nohe/openapi-react-query-codegen (150 tys. pobrań/tydz.) przez przejęty workflow GitHub Actions/OIDC. Dla malicious dependency „present ≠ executed”, a czysta wersja nie zamyka findingu — to już incident response, nie remediation dependency. Czytaj wpis → AnalizaKernel ma CVE 8.4, ale prawdziwym problemem jest to, że exec() usuwa nałożony security control
CVE-2026-80713: per-task restrictions io_uring znikały po exec() — control był, działał, ale nie przetrwał legalnego przejścia lifecycle. „Control configured” ≠ „control persistent”; remediation validation ponad version validation.
Czytaj wpis →
Case study
Sandbox działał — tylko dane wyrenderowano drugi raz już bez niego
CVE-2026-82447 w Skyvern: pierwszy render Jinja był sandboxed, drugi już nie — second-order template injection prowadzi do RCE. Security control może działać poprawnie na jednym etapie i zniknąć na następnym; bezpieczeństwo pipeline to właściwość całego przepływu danych. Czytaj wpis → Case studyNajpierw omijasz logowanie, potem API oddaje hasła w plaintext
Dwa CVE w rust-iot-platform: CVE-2026-82452 (auth bypass) + CVE-2026-82453 (plaintext passwords zwracane w API) = unauthenticated credential harvesting. Liczba CVE to nie liczba attack paths — CVSS się nie sumuje, ale capabilities już tak. Czytaj wpis → Case studyCritical RCE, który nie wymaga błędnej konfiguracji — bo podatne ustawienie jest w gotowym szablonie
CVE-2026-14494 w Sigma Forms Pro: unauthenticated arbitrary file upload → RCE. „Requires configuration”, ale podatny stan przychodzi z pre-built templates producenta. Nie każda precondition obniża ryzyko tak samo — „vulnerable by default”. Czytaj wpis → AnalizaCVE przypisane do Linux kernel, a podatny kod siedzi w userspace perf
CVE-2026-80671 to „Linux kernel Critical 9.3”, ale podatny plik to tools/perf/builtin-sched.c parsujący niezaufany perf.data. Jak zła granularność produktu generuje tysiące fałszywie pilnych findingów — Product → Package → Component → Runtime → Attack Path.
Czytaj wpis →
Case study
Plugin płatności ma „SSRF”, a skutek to darmowe zakupy i wyciek credentiali gatewaya
CVE-2026-16947 (Total Processing for WooCommerce ≤ 7.3): unauthenticated SSRF, ale realnie payment verification bypass + gateway credential disclosure + fraud. Brak znanego fixa. CWE opisuje mechanizm błędu, nie wartość ryzyka dla firmy. Czytaj wpis → Case studyContent editor z prawem do DataObjects kończy z RCE
CVE-2026-55634: zwykłe uprawnienieobjects w Pimcore pozwala przez nazwę pola DataObject wstrzyknąć kod do generowanej klasy PHP (i do SQL DDL). PR:L nie mówi, jak potężne jest low-privilege w danym systemie.
Czytaj wpis →
Case study
Masz tylko „mon allow r”, a zdobywasz SSH key do wszystkich hostów Cepha
CVE-2026-50152: read-only CephX czyta cały Monitor config-key store — w klastrach cephadm także SSH private key do wszystkich hostów. Read-only to nazwa operacji, nie poziom zaufania. Credential transitivity zamiast klasycznej eskalacji. Czytaj wpis → Analiza12 CVE dla MCP w mniej niż 9 sekund
VulnCheck opublikował 12 CVE dla ekosystemu MCP (CVE-2026-81091…81102) w kilka sekund. Pytanie nie brzmi „czy auto-CVE są wiarygodne”, tylko czy VM potrafi ocenić provenance, aktualność i konflikty pól niezależnie od sposobu generowania danych. Czytaj wpis → AnalizaPięć podatności Ranchera, ale nie każda istnieje w każdej architekturze
Seria advisories Ranchera: exploitability zależy od HA, SAML, multi-cluster, RBAC i tenant modelu. Affected by version ≠ attack path exists. Dlaczego VM w cloud-native musi być topology-aware i trzymać oba stany jednocześnie. Czytaj wpis → Case study„Nie udało się odtworzyć, więc produkcja jest bezpieczna” — potem zaatakowano sześć sieci
Cosmos EVM: nieudana reprodukcja PoC na 18-decimal uznana za brak zagrożenia produkcji, potem ~5,7 mln USD strat. Brak reprodukcji jest wynikiem testu, nie dowodem niepodatności — rozdzielaj not_reproduced i not_affected. Czytaj wpis → Case studyAdmin aplikacji czy root serwera? Dlaczego „PR:H” nie zawsze znaczy „mało pilne”
CVE-2026-82244: admin Budibase uploaduje plugin, niesandboxowanyeval() daje RCE w procesie Node.js i root w domyślnych deploymentach. „Administrator aplikacji” i „root systemu” to nie ta sama security boundary — PR:H opisuje warunek wejścia, nie przekraczaną granicę.
Czytaj wpis →
Case study
Masz tylko ograniczone ssm:SendCommand, a kończysz z plikiem jako root
CVE-2026-81849: path traversal w pluginie aws:downloadContent pozwala z wąskiego uprawnienia SSM zapisać plik jako root. Least privilege to własność całego chainu identity → cloud → agent → host, nie pojedynczej IAM policy.
Czytaj wpis →
Case study
Wiele Critical CVE, jeden Firebox, jedna aktualizacja — liczba podatności to nie liczba działań
WatchGuard Firebox: cztery CVE w procesie iked (dwa pre-auth RCE 9.3), 200 urządzeń, 800 findings — ale jedna remediation (upgrade Fireware). Dlaczego finding ≠ remediation action i jak konfiguracja IKEv2 definiuje realny attack surface. Czytaj wpis → Case studyPatch zamknął CVE, ale nie cały attack primitive — Wazuh i „patched" ≠ „fixed"
CVE-2026-61800 to incomplete fix dla CVE-2026-30893: pierwsza poprawka zamknęła path traversal poza /var/ossec, ale nie autoryzację miejsca w środku. Path confinement ≠ authorization — patch lineage, re-ewaluacja populacji i trzy poziomy walidacji remediation. Czytaj wpis → Case studyVendor miał patch, znał CVE, a i tak został zhakowany — JetBrains Cadence i remediation failure
Mimo znanego CVE-2026-63077 w TeamCity, patcha i ostrzeżeń o atakach, jeden serwer vendora pozostał niezałatany i został przejęty. „Ticket Closed" ≠ „Risk Closed" — remediation, której nie zweryfikowaliśmy, jest tylko deklaracją. Czytaj wpis → AnalizaProjekt praktycznie martwy, zero-click RCE nadal istnieje — kiedy EOL jest findingiem
Uptrain: cztery CVE składające się w zero-click RCE, a upstream praktycznie nie reaguje. Kiedy brak utrzymania projektu powinien sam być findingiem — operational EOL, maintainability risk i pytanie „czy ten software ma przyszłość bezpieczeństwa?". Czytaj wpis → Case studyDwa Critical RCE w Next.js, dwa różne problemy VM: kiedy „podatna wersja" nie oznacza jeszcze „podatnego systemu"
Jeden security release, dwa Critical RCE — ale zupełnie różne grafy exploitability. CVE-2026-75604 zależy od OS/architektury/cache, a GHSA-2xp9-vwfh-vxw4 to zależność transytywna (sharp → libheif → AVIF). Reachability, VEX i ownership zamiast czerwonej etykiety. Czytaj wpis → Case studyVendor mówi „DoS", badacze pokazują pre-auth RCE. Kto definiuje realną severity podatności?
CVE-2026-8452 (NetScaler): vendor opisał DoS (CVSS 8.8), watchTowr zademonstrował pre-auth RCE, NVD dał 9.8, a CISA dodała CVE do KEV. Jak modelować konflikt źródeł — severity to nie jedno pole. Czytaj wpis → Case studyCVSS 5.3 Medium, ale CISA KEV. JFrog Artifactory pokazuje, dlaczego „Medium" może być pilniejsze niż „Critical"
CVE-2026-66384: Medium, a jednak known exploited na krytycznym elemencie software supply chain. Severity opisuje podatność, priority opisuje Twoją decyzję — Medium 5.3 i P1 mogą istnieć jednocześnie. Czytaj wpis → AnalizaAktywne ataki, brak CVE i brak patcha. Co ma zrobić Vulnerability Engineer z PaperCutem?
27.08.2026 PaperCut potwierdził aktywną eksploatację NG/MF — bez publicznego CVE i bez patcha, ale z mitygacją. Jak zarządzać ryzykiem, gdy CVE nie jest kluczem głównym VM: rejestracja sprawy, exposure, mitigation, IR równolegle, walidacja. Czytaj wpis → Case studyKEV mówi: atakują. EPSS mówi: 0,356%. Któremu wskaźnikowi ma zaufać Vulnerability Engineer?
CVSS 7.0, EPSS ~0,356%, a CISA KEV = tak i potwierdzona kampania Lazarusa (CVE-2026-68820, Windows AFD). Dlaczego te wskaźniki nie przeczą sobie — odpowiadają na różne pytania — i jak łączy je Vulnerability Engineer w realnym triage. Czytaj wpis → AnalizaLog4j2, którego nie da się ocenić samym CVSS-em. Jak powinien podejść do niego Vulnerability Engineer?
Da się zbudować RCE przez deserializację w Log4j2 (FilteredObjectInputStream + MarshalledObject), a mimo to obecność Log4j nie oznacza podatności. Component presence ≠ vulnerability presence ≠ exploitability — reachability, receiver, gadget chain, VEX i łańcuch dowodów zamiast czerwonego koloru. Czytaj wpis →// Kolejne wpisy poza cyklem pojawią się tutaj.