GHSA-cvxj-4745-843x
Content-Security-Policy protection for user content disabled by Jenkins ScreenRecorder Plugin
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| Maven | io.jenkins.plugins:screenrecorder | <= 0.7 | no fix listed |
Details
As written in the advisory (Markdown source, shown as plain text).
Jenkins sets the `Content-Security-Policy` header to static files served by Jenkins (specifically `DirectoryBrowserSupport`), such as workspaces, `/userContent`, or archived artifacts, unless a Resource Root URL is specified.
ScreenRecorder Plugin 0.7 and earlier programmatically updates [the Java system property](https://www.jenkins.io/doc/book/managing/system-properties/#hudson-model-directorybrowsersupport-csp) allowing administrators to customize the `Content-Security-Policy` header for static files served by Jenkins to include `media-src: 'self'`. On a Jenkins instance with default configuration, this effectively disables all other directives in the default rule set, including `script-src`. This allows cross-site scripting (XSS) attacks by users with the ability to control files in workspaces, archived artifacts, etc.
Jenkins instances with [Resource Root URL](https://www.jenkins.io/doc/book/security/user-content/#resource-root-url) configured are unaffected.
References
External links from the advisory. They lead to third-party sites.