Skip to main content

Drupal Currency CVE-2025-10930

MEDIUM
Cross-Site Request Forgery (CSRF) (CWE-352)
2025-10-30 mlhess@drupal.org
4.3
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Lure authenticated admin to attacker page
  2. Exploit
    Deliver forged cross-site request
  3. Execution
    Browser submits request with valid session
  4. Impact
    Unauthorized state change in Currency module

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Anti-CSRF tokens, SameSite cookies
MITRE ATT&CK

1 technique across 1 tactic: Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a logged-in Drupal user (typically an administrator with Currency-management permissions) to be tricked into visiting attacker-controlled content or clicking a crafted link while their session is active (UI:R) - the module does not validate an anti-CSRF token on the affected state-changing request. Limiting factors: the attacker cannot act without a victim's authenticated session and must rely on social engineering to trigger the request; impact is confined to integrity (I:L) with no data disclosure or service disruption, and sites running Currency 3.5.0 or later are not affected.

Impact

This is a genuinely low-priority issue despite being a network-vector flaw. The CVSS 3.1 base score of 4.3 (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N) reflects a classic CSRF weakness (CWE-352): network-reachable and requiring no attacker privileges, but gated by user interaction (UI:R) and limited to low integrity impact with no confidentiality or availability loss. Every secondary signal agrees with the low rating: EPSS is only 0.13% (2nd percentile), there is no CISA KEV listing (no public exploit identified at time of analysis), and no POC is referenced. No signals conflict - the quantitative exploitation-probability data, the absence of active-exploitation evidence, and the modest CVSS impact all point the same direction. The affected software is a single Drupal contributed module (Currency, 2bits), not a core or ubiquitous platform, which further constrains real-world exposure. Treat this as routine patch-cycle hygiene rather than an emergency: no SSVC/automatable metadata was supplied, but the UI:R requirement makes automatable-at-scale exploitation unlikely.

Exploit ScenarioDerived

An attacker crafts a malicious web page or email link and lures an authenticated Drupal administrator into clicking it while logged in; the forged request then performs a state-changing action in the Currency module under the victim's session. No public exploit code is known, and successful exploitation depends on the victim being tricked into the interaction (UI:R), yielding only limited integrity impact.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 08, 2026

Cross-site request forgery in the Drupal Currency contributed module (versions before 3.5.0) lets an attacker trigger state-changing requests through a victim's browser session, because the module fails to validate a per-request anti-CSRF token on that operation. As reflected in the assessed vector (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N), exploitation requires tricking a logged-in Drupal user - typically an administrator with Currency-management permissions - into visiting attacker-controlled content or clicking a crafted link while their session is active, and the resulting impact is limited to a low-integrity modification with no data disclosure or service disruption. No public exploit code has been identified and the issue is not in CISA KEV; EPSS is negligible at 0.13% (2nd percentile), making this a genuinely low-priority issue despite being a network-vector flaw, and sites already running Currency 3.5.0 or later are unaffected.

RemediationAI

Upgrade the Drupal Currency module to 3.5.0 or later - this is the vendor-released fix, documented in the Drupal security advisory at https://www.drupal.org/sa-contrib-2025-110, and should be applied through the site's normal update workflow (composer update drupal/currency or equivalent, followed by database updates as required) with the update validated on a staging copy before production rollout. Where an immediate upgrade is not possible, compensating controls are limited because the root cause is a missing in-module token check: restrict the Currency-management permissions (administer currency / currency configuration permissions) to a small, trusted set of accounts to shrink the set of sessions an attacker could exploit; enforce short session lifetimes and require re-authentication for administrative roles so that a dormant session is less likely to be live when a lure is clicked; deploy a reverse proxy with CSRF/Origin-header and Referer checks, or apply Drupal's same-site cookie settings (e.g., SameSite=Lax/Strict on the session cookie), understanding that SameSite cookie tightening is the most effective stopgap but can break legitimate cross-site integrations and embedded workflows; and make the module read-only by removing permissions from untrusted roles, accepting that this disables legitimate currency administration for those users. Because exploitation depends on social engineering, reinforcing phishing awareness for site administrators provides additional marginal risk reduction. No public exploit code was identified at the time of analysis, so prioritized emergency response is not warranted.

Affected Packages

composer drupal/currency fix: 3.5.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in composer

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

Technical ContextAI · show details

The affected component is a Drupal contributed module (project 'Currency', maintained under the 2bits vendor namespace as captured by CPE cpe:2.3:a:2bits:currency:*:*:*:*:*:drupal:*:*) that provides currency data and management functionality within a Drupal site. The weakness class is CWE-352, Cross-Site Request Forgery: the module performs a state-changing operation without requiring a valid form token (Drupal's per-session, per-form anti-CSRF token generated by the Form API or a manually validated token), so a request forged from an external origin and replayed by the victim's browser is accepted as legitimate. Because the browser automatically attaches the victim's Drupal session cookie, authorization checks pass even though the request originated from the attacker, and the same-origin policy provides no protection against a top-level cross-site form POST or forged request. There is no server-side vulnerability in the underlying currency library itself; the exposure is entirely the missing request-authenticity check at the module's request-handling layer, which is why the CVSS vector scores integrity impact only (I:L) and requires user interaction (UI:R).

Know when Currency 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

NVD PRIMARY 4.3 MEDIUM
AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
vuln.today AI 4.3 MEDIUM

CSRF is network-delivered (AV:N) needing no attacker privileges (PR:N) but depends on a logged-in victim's action (UI:R), causing only limited integrity change (I:L) with no C/A impact.

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

Primary rating from NVD.

CVSS VectorNVD

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

DescriptionNVD

Cross-Site Request Forgery (CSRF) vulnerability in Drupal Currency allows Cross Site Request Forgery.This issue affects Currency: from 0.0.0 before 3.5.0.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Low
single Drupal contributed module, niche per-site install footprint
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.1%
Patch available Yes
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

Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.

Affected Products (CPE)NVD

cpe:2.3:a:2bits:currency:*:*:*:*:*:drupal:*:*

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