Database/Control plane, storage & DevOps
Jenkins Email Extension Plugin: file: URLs in inlined images read arbitrary controller files
Impact
The plugin inlines images referenced with a data-inline attribute as base64 without restricting the URL scheme, so an attacker who can influence email content can supply a file: URL and have the controller read any file it can reach and deliver it in the outgoing mail. On a build controller that means credentials.xml, SSH keys to the GPU fleet, kubeconfigs and registry tokens - the material that lets a CI system deploy to every node. The reader of the exfiltrated mail is whoever the job addresses, so the leak leaves the controller through a normal-looking notification. Affects Email Extension Plugin 1933.v45cec755423f and earlier.
Who can reach it
Any authenticated Jenkins user who can control email body content - that is, edit a job's extended email configuration or supply a template the job renders. No controller admin rights are needed.
What to do
Update the Email Extension Plugin from the Jenkins update center to a release later than 1933.v45cec755423f; the Jenkins security advisory for 2026-05-27 (SECURITY-3705) carries the fixed version. A plugin update requires a controller restart to take effect, which drains and interrupts running builds but touches no GPU node. Treat any secret readable by the controller as potentially exposed if untrusted users held job-configure rights, and rotate.
References
Related entries
- Apache CloudStack: metalink template registration gives a tenant root on the KVM hypervisor hostCVE-2026-50112 · Apache CloudStack (template registration via metalink and direct download to the KVM agent)High
- Jenkins: attacker-controlled config.xml deserialization allows user impersonation and code executionCVE-2026-53435 · Jenkins controller (config.xml deserialization of arbitrary core and plugin types)High
- Apache Airflow: executor_config deserialization imports arbitrary callables in scheduler and API serverCVE-2026-58076 · Apache Airflow serialization layer (exception branch reached via operator executor_config)High
- rclone (serve restic --private-repos): --private-repos is meant to confine each authenticated user to their ownCVE-2026-59733 · rclone (serve restic --private-repos)High
- Red Hat ACM: ManagedClusterAddOn annotation overrides governance-policy image, giving cluster-admin execCVE-2026-66793 · Red Hat Advanced Cluster Management governance-policy-addon-controllerHigh
- Apache Airflow: Callback deserialization in the scheduler timeout sweep imports Dag-author-chosen modulesCVE-2026-67587 · Apache Airflow Task SDK Callback deserialization (task instance next_kwargs)High
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.