Skip to main content

Jenkins Curseforge Publisher CVE-2025-64146

MEDIUM
Missing Encryption of Sensitive Data (CWE-311)
2025-10-29 jenkinsci-cert@googlegroups.com
4.3
CVSS 3.1 · Vendor: googlegroups
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate with Item/Extended Read permission
  2. Exploit
    Open job config.xml
  3. Execution
    Read unencrypted CurseForge API key
  4. Impact
    Abuse key on CurseForge account

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V14 - Data Protection Encryption of sensitive data
Exploitation Conditions

Exploitation requires that a CurseForge API key has actually been configured in a Jenkins job using the Curseforge Publisher Plugin 1.0, since the secret is written to that job's config.xml on the controller. An attacker must additionally hold Jenkins Item/Extended Read permission on the job (PR:L) OR have read access to the Jenkins controller filesystem; without one of these the plaintext key is not reachable. Limiting factors: this is an at-rest disclosure with no code execution, no integrity or availability impact, and no privilege escalation within Jenkins - the realistic blast radius is confined to the exposed CurseForge API key and whatever that key authorizes on CurseForge.

Impact

This is a genuinely low-priority issue despite being network-accessible. The CVSS vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N, base 4.3) tells a consistent story: although the attack vector is network (AV:N, via the Jenkins web UI), exploitation requires existing authenticated access with Item/Extended Read permission (PR:L), and impact is limited to low confidentiality only (C:L/I:N/A:N) - exposure of a CurseForge API key. EPSS reinforces low urgency at 0.17% (6th percentile), indicating very low probability of exploitation activity. The vulnerability is NOT in CISA KEV and there is no public exploit identified at time of analysis, so there is no confirmed active exploitation. There is no SSVC data provided. The signals do not conflict: a low-CVSS, low-EPSS, non-KEV secret-storage flaw requiring prior privileged access is a hygiene/hardening issue rather than an active threat. The only nuance is that the AV:N network vector overstates the real reach - the underlying weakness is an at-rest secret-storage flaw (CWE-311) requiring either Item/Extended Read permission or controller filesystem access, so practical risk is bounded by who already has those privileges.

Exploit ScenarioDerived

A low-privileged Jenkins user who holds Item/Extended Read permission (or anyone with read access to the controller filesystem) views a job's config.xml and recovers the CurseForge API key stored there in plaintext. The attacker then reuses that key to publish or manipulate content on the associated CurseForge account. No public exploit is required - this is simple retrieval of an unencrypted secret, consistent with the low-complexity (AC:L) vector.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 08, 2026

Cleartext storage of CurseForge API keys in Jenkins Curseforge Publisher Plugin 1.0 writes the secret in plaintext into each configured job's config.xml on the Jenkins controller, allowing users who hold Item/Extended Read permission on that job - or anyone with read access to the controller filesystem - to retrieve the key. The issue is remote and network-reachable but requires low privileges (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N, score 4.3), is an information-disclosure-only condition with no code execution or integrity/availability impact, and there is no public exploit identified at time of analysis and no confirmed active exploitation (EPSS 0.17%, 6th percentile). Realistic exposure is limited to the confidentiality of the CurseForge API key and whatever that key authorizes on CurseForge, and only when a key has actually been configured in a job.

RemediationAI

Treat any CurseForge API key configured in a Curseforge Publisher 1.0 job as compromised: rotate/revoke it in CurseForge and, if the key authorized sensitive projects, review its activity. Apply the vendor's plugin update identified in the Jenkins security advisory 2025-10-29 (SECURITY-3562) at https://www.jenkins.io/security/advisory/2025-10-29/#SECURITY-3562 - no specific fixed version number is provided in the supplied intelligence, so confirm the patched release directly in that advisory before upgrading, then restart the controller with the updated .hpi. As interim compensating controls, tighten Jenkins authorization so Item/Extended Read is granted only to trusted users (this reduces the audience able to read config.xml through the UI but does not protect against filesystem access), and restrict shell/OS-level read access to $JENKINS_HOME/jobs/**/config.xml on the controller, since any local reader can recover the plaintext key. Note that neither workaround removes the plaintext secret from already-written config.xml files; only rotating the key after the plugin update eliminates the exposure, and stripping or manually editing the stored value in config.xml risks breaking existing job configurations.

Affected Packages

maven org.jenkins-ci.plugins:curseforge-publisher no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in maven

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw is an instance of CWE-311 (Missing Encryption of Sensitive Data). Jenkins plugins are expected to persist secrets using Jenkins' own secret-encryption facilities - typically by declaring fields as hudson.util.Secret (or by storing the value in the Jenkins credentials store) so the value is encrypted with the controller's master key before being serialized into job configuration. Instead, Curseforge Publisher Plugin 1.0 writes the CurseForge API key as an unencrypted string into the plugin's section of the job's config.xml, which is the XML configuration file Jenkins maintains for every job on the controller. Because config.xml is readable by any principal granted Item/Extended Read on the job and is also a plain file on the controller's disk, the secret is exposed through two independent paths that both map to the same missing-encryption root cause. The CPE cpe:2.3:a:jenkins:curseforge_publisher:1.0:*:*:*:*:jenkins:*:* confirms that only version 1.0 of the plugin, running on a Jenkins controller, is in scope; the issue is a plugin-level configuration-storage defect rather than a flaw in Jenkins core or in CurseForge itself.

Know when Curseforge Publisher gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (googlegroups) PRIMARY 4.3 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
vuln.today AI 4.3 MEDIUM

Requires an authenticated low-privileged user with Item/Extended Read (PR:L) over the web UI (AV:N); only a single API key is disclosed, so C:L with no integrity or availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (googlegroups).

CVSS VectorVendor: googlegroups

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

DescriptionCVE.org

Jenkins Curseforge Publisher Plugin 1.0 stores API Keys unencrypted in job config.xml files on the Jenkins controller where they can be viewed by users with Item/Extended Read permission, or access to the Jenkins controller file system.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Low
niche Jenkins plugin for publishing to CurseForge mod hosting
Data Quality
3 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

22
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +22
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Affected Products (CPE)CVE.org

cpe:2.3:a:jenkins:curseforge_publisher:1.0:*:*:*:*:jenkins:*:*

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy