CVE-2026-25244
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Wysokie ryzykoPercentyl 85 — wyżej niż 85% wszystkich znanych CVE
Streszczenie
WebdriverIO w wersjach poniżej 9.24.0 zawiera podatność na wstrzykiwanie poleceń, prowadzącą do zdalnego wykonania kodu (RCE) podczas orkiestracji testów. Git pozwala na używanie znaków specjalnych w nazwach gałęzi, a funkcja getGitMetadataForAISelection() przekazuje je bezpośrednio do wywołań execSync() bez sanityzacji. Atakujący może wykorzystać złośliwe repozytorium z odpowiednio spreparowaną nazwą gałęzi, aby wykonać dowolny kod.
Ocena ryzyka
Ryzyko obejmuje zdalne wykonanie kodu na serwerach CI/CD i maszynach deweloperskich, co może prowadzić do ujawnienia poświadczeń i sekretów, kradzieży kodu źródłowego i kluczy SSH, przejęcia systemu oraz ataków na łańcuch dostaw poprzez manipulację artefaktami kompilacji.
Rekomendacja
Należy natychmiast zaktualizować WebdriverIO do wersji 9.24.0 lub nowszej. Dodatkowo, zaleca się ograniczenie zaufania do zewnętrznych repozytoriów oraz walidację nazw gałęzi przed ich użyciem w skryptach.
Oryginalny opis (angielski, źródło NVD)
WebdriverIO is a test automation framework for unit, e2e and component testing using WebDriver, WebDriver BiDi and Appium. Versions below 9.24.0 contain a command injection vulnerability leading to remote code execution (RCE) in test orchestration. Git permits branch names containing shell metacharacters, and getGitMetadataForAISelection() interpolates these names directly into execSync() calls without sanitization. An attacker can exploit this by supplying a malicious repository (via testOrchestrationOptions.runSmartSelection.source, or the current directory if unset) whose branch name carries a payload, causing the shell to execute arbitrary code. This enables remote code execution on CI/CD servers and developer machines, leading to credential and secret disclosure, source code and SSH key exfiltration, system compromise, and supply chain attacks via tampered build artifacts. The issue has been fixed in version 9.24.0.

