Severity by source
AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:L/A:L
Network vector is correct for a web app; AC:H reflects multi-step payload-staging requirement; PR:H is mandatory as DSpace admin credentials are required; C:H for arbitrary file read; I:L because code execution requires a secondary weakness in the Velocity implementation, not this CVE alone.
Primary rating from Vendor (https://github.com/DSpace/DSpace).
CVSS VectorVendor: https://github.com/DSpace/DSpace
Lifecycle Timeline
2Blast Radius
ecosystem impact- 10 maven packages depend on org.dspace:dspace-api (7 direct, 3 indirect)
Ecosystem-wide dependent count for version 8.0-rc1.
DescriptionCVE.org
Overview
A path traversal vulnerability is possible via the COAR Notify / LDN service in DSpace. _This vulnerability impacts DSpace versions 8.0 <= 8.3, 9.0 <= 9.2._ The attacker MUST already have DSpace administrator credentials in order to perform the attack.
When reading a file input stream of an "inbound pattern" / "template", used to generate an LDN message, the LDN class does not check for path traversal or restrict the templates to a known base path. This could allow an untrusted file from elsewhere in the file system (e.g. an export log, a bitstream path, a temporary file) to be read and interpreted as an Apache Velocity template.
Expected behaviour : Only the trusted templates kept in $dspace.dir/config/ldn should be allowed or used by LDN.
Impact
On its own this seems a fairly low-impact problem: only DSpace Administrators can set LDN template names in services, and you typically need more access to manipulate files on the server.
However, this vulnerability was included as part of an attack chain that demonstrated the ability of a DSpace Administrator to put the malicious Velocity payload in a predictable place (e.g. temporary log file from a running process) and then have that file referenced as the template name in a new service.
This means it is possible (non-trivial, but proven) for an attacker with DSpace administrator credentials to either disclose information via a specially crafted Velocity template, or exploit another weakness in the DSpace Velocity implementation by executing arbitrary java code.
Patches
The fix is included in DSpace 8.4, 9.3 and 10.0. Please upgrade to one of these versions or disable LDN (see below)
If users cannot upgrade immediately, it is possible to manually patch their DSpace backend. (No changes are necessary to the frontend.) A pull request exists which can be used to patch systems running DSpace 8.x or 9.x.
- Pull request for 9.x: https://github.com/DSpace/DSpace/pull/12552 (Downloadable patch file)
- This 9.x patch file also resolves a similar path traversal vulnerability in the Curation Task reporter
- Pull request for 8.x: https://github.com/DSpace/DSpace/pull/12540 (Downloadable patch file)
- This 8.x patch file also resolves a similar path traversal vulnerability in the Curation Task reporter
Apply the patch to a DSpace
If at all possible, DSpace recommends disabling LDN (see below) or upgrading the user's DSpace site based on the upgrade instructions. However, if users are unable to do so, they can manually apply the above patches to their DSpace backend as follows:
- Download the appropriate patch file to the machine where DSpace backend is running
- From the
[dspace-src]folder, apply the patch, e.g.git apply [name-of-file].patch - Now, update the DSpace site (based loosely on the Upgrade instructions). This generally involves three steps:
- Rebuild DSpace, e.g.
mvn -U clean package(This will recompile all DSpace backend code) - Redeploy DSpace, e.g.
ant update(This will copy all newly built code to their installation directory). Depending on their setup they also may need to copy the updated "server" webapp over to their Tomcat webapps folder. - Restart Tomcat (or runnable JAR)
Workarounds
- In
dspace.cfgorlocal.cfg, disable LDN (setldn.enabled=false) if it is not crucial to the operation of the repository. (NOTE: LDN is disabled by default, so many DSpace sites may not use this feature) - Once users have patched their site or upgraded, they may safely enable LDN again.
Credits
Discovered & reported by Pablo Picurelli Ortiz (@superpegaso2703), cybersecurity student at Universidad Rey Juan Carlos. Code fix developed by Kim Shepherd (@kshepherd) of The Library Code
AnalysisAI
Path traversal via the COAR Notify / Linked Data Notifications (LDN) service in DSpace 8.0-8.3 and 9.0-9.2 allows an authenticated DSpace administrator to reference arbitrary filesystem paths as LDN inbound-pattern templates, causing those files to be read and interpreted as Apache Velocity templates. While no public exploit or active exploitation has been identified, the vulnerability was demonstrated as part of a proven attack chain in which an administrator stages a malicious Velocity payload in a predictable file location and triggers its execution, enabling either sensitive file disclosure or arbitrary Java code execution via Velocity template injection. No special conditions (KEV, public PoC) are confirmed at time of analysis.
Technical ContextAI
DSpace (pkg:maven/org.dspace:dspace-api) is a widely-used Java/Tomcat-based open-source repository platform. Its COAR Notify / LDN feature processes inbound notification patterns using Apache Velocity templates stored under $dspace.dir/config/ldn. The vulnerable LDN class reads the template file path from a service configuration field without validating that the path stays within the trusted config/ldn base directory, a classic CWE-22 (Path Traversal) root cause. Because Velocity templates can execute Java expressions and method calls, any attacker-controlled file that reaches the Velocity engine - such as an export log or temporary file containing a crafted payload - can yield information disclosure or arbitrary code execution within the JVM context of the running DSpace/Tomcat process.
RemediationAI
The primary fix is to upgrade to DSpace 8.4, 9.3, or 10.0, which contain the validated patch developed by Kim Shepherd of The Library Code. For installations that cannot immediately upgrade, the vendor provides downloadable patch files: for 9.x, apply https://github.com/DSpace/DSpace/pull/12552.patch; for 8.x, apply https://github.com/DSpace/DSpace/pull/12540.patch. These patches also resolve a related path traversal in the Curation Task reporter (GHSA-v66x-68f2-pxf5). After downloading the patch, apply it with git apply [patch-file].patch from the [dspace-src] directory, then rebuild (mvn -U clean package), redeploy (ant update), and restart Tomcat. If patching is not immediately possible, set ldn.enabled=false in dspace.cfg or local.cfg - the vendor notes LDN is disabled by default, so many sites are already protected. Re-enabling LDN is safe only after patching or upgrading. Note that disabling LDN removes COAR Notify interoperability functionality for the duration of the workaround.
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
Same weakness CWE-22 – Path Traversal
View allSame technique Path Traversal
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-70235
GHSA-9qm4-rh6w-pq5x