Severity by source
Sources disagree (Medium–Critical)AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Reaching the sink requires creating a Fleet output configuration in Kibana, a privileged action, so PR:L rather than PR:N; code execution yields C:H/I:H, and no availability impact is described (A:N).
vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.
CVSS VectorNVD
Lifecycle Timeline
5DescriptionNVD
Improper Control of Generation of Code ('Code Injection') (CWE-94) in Fleet Server can lead to the execution of attacker-supplied script content via Code Injection (CAPEC-242). Kibana accepted an identifier for an output configuration without restricting it to safe characters. That identifier is later placed into a server-side script that Fleet Server builds as part of routine agent policy processing, so script syntax embedded in the identifier became part of the script that was executed rather than being treated as data.
AnalysisAI
Server-side code injection in Elastic Fleet Server (8.5.0-8.19.19, 9.0.0-9.4.4, and 9.5.0) lets an actor who can define an output configuration in Kibana smuggle script syntax through an output identifier that is never restricted to safe characters. Because Fleet Server later concatenates that identifier into a script it builds during routine agent policy processing, embedded script fragments execute on the server rather than being treated as inert data, yielding attacker-controlled code execution (CWE-94). No public exploit identified at time of analysis and EPSS is low (0.36%), but SSVC rates technical impact as total.
Technical ContextAI
Fleet Server is the Elastic control-plane component that manages Elastic Agent enrollment and distributes agent policies; it is administered through Kibana's Fleet UI/API. The affected product is cpe:2.3:a:elastic:fleet_server. The root cause is classic CWE-94 (Improper Control of Generation of Code): Kibana treats an output-configuration identifier as free-form text and passes it downstream, and Fleet Server dynamically assembles a server-side script that interpolates that identifier as code rather than as a bound parameter or escaped literal. When policy processing runs, the crafted identifier is parsed as script syntax and executed. This is the same string-into-code-context failure mode as SQL/template injection, but the sink is a server-side scripting engine used during policy compilation.
RemediationAI
Vendor-released patch: upgrade Fleet Server to 8.19.20, 9.4.5, or 9.5.1 as applicable to your line, per Elastic security advisory ESA-2026-93 (https://discuss.elastic.co/t/fleet-server-8-19-20-9-4-5-9-5-1-security-update-esa-2026-93/389510). If immediate patching is not possible, reduce exposure by restricting who can create or modify Fleet output configurations in Kibana - limit Fleet and output-management roles to trusted administrators only - and place the Kibana/Fleet management interface behind network controls so it is not reachable by lower-trust users or the internet; the trade-off is added operational friction for legitimate Fleet operators. Auditing existing output configuration identifiers for unexpected non-alphanumeric or script-like characters can help detect prior tampering. These are compensating controls only and do not remove the underlying injection; upgrading is the durable fix.
More in Fleet Server
View allAn issue was discovered in Fleet Server >= v8.10.0 and < v8.10.3 where Agent enrolment tokens are being inserted into th
Denial of service in Elastic Fleet Server (versions 8.0.0-8.19.10 and 9.0.0-9.2.4) allows remote attackers to exhaust me
Policy information disclosure in Elastic Fleet Server allows any enrolled agent with valid credentials to retrieve polic
Incorrect authorization in Elastic Fleet Server allows any authenticated enrolled agent to interfere with multi-part upl
Same weakness CWE-94 – Code Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-58263
GHSA-hfcx-p43w-9wvx