Security advisory
dotCMS before 5.2.4 is vulnerable to directory traversal, leading to incorrect access control. It allows an attacker to read or execute files under $TOMCAT_HOME/webapps/ROOT/assets (which should be a protected directory). Additionally, attackers can upload temporary files (e.g., .jsp files) into /webapps/ROOT/assets/tmp_upload, which can lead to remote command execution (with the permissions of the user running the dotCMS application).
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2020-6754
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 12:41 UTC · Revision 1
Source evidence
dotCMS before 5.2.4 is vulnerable to directory traversal, leading to incorrect access control. It allows an attacker to read or execute files under $TOMCAT_HOME/webapps/ROOT/assets (which should be a protected directory). Additionally, attackers can upload temporary files (e.g., .jsp files) into /webapps/ROOT/assets/tmp_upload, which can lead to remote command execution (with the permissions of the user running the dotCMS application).
osv:CVE-2020-6754
Complete source record
{
"id": "7efc73f8553b306d49074e833a777e000d70b29876500bc4fd83bce6f953a722",
"url": "https://osv.dev/vulnerability/CVE-2020-6754",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2020-6754",
"summary": "dotCMS before 5.2.4 is vulnerable to directory traversal, leading to incorrect access control. It allows an attacker to read or execute files under $TOMCAT_HOME/webapps/ROOT/assets (which should be a protected directory). Additionally, attackers can upload temporary files (e.g., .jsp files) into /webapps/ROOT/assets/tmp_upload, which can lead to remote command execution (with the permissions of the user running the dotCMS application).",
"evidence": "osv:CVE-2020-6754",
"products": [],
"severity": "critical",
"structured": {
"id": "CVE-2020-6754",
"aliases": [
"CVE-2020-6754"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/dotcms/core",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "155eca8cfe7e67fa92cf5d0a132245b689702c2e"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:dotcms:dotcms:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "5.2.4"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"5.2.1",
"5.2.0",
"3.6.0",
"3.5",
"3.5_Preview02",
"3.5_Preview01",
"pre3.5buildrevert",
"3.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-6754.json",
"vanir_signatures": [
{
"id": "CVE-2020-6754-4190466c",
"digest": {
"threshold": 0.9,
"line_hashes": [
"212782313452063913193578797663456291622",
"92600049029349482001306405533256245985",
"135756894813603437535814674671407583068",
"101189251698574058280810611240740138777",
"297164111336928037556873467862149061788",
"241429662320713779636975703922712469110",
"278149354703171285244562976940295763006",
"226298034287598230884748682406665662303",
"205274804033709825768539149495175164460",
"258242024970674548201987921529157739894",
"65387989931371672711519902159247668504",
"129179317608015344954522656709245534184"
]
},
"source": "https://github.com/dotcms/core/commit/155eca8cfe7e67fa92cf5d0a132245b689702c2e",
"target": {
"file": "dotCMS/src/main/java/com/dotmarketing/portlets/contentlet/business/HostAPIImpl.java"
},
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1"
},
{
"id": "CVE-2020-6754-46c9205b",
"digest": {
"length": 527,
"function_hash": "80287980246394692374369540247165709685"
},
"source": "https://github.com/dotcms/core/commit/155eca8cfe7e67fa92cf5d0a132245b689702c2e",
"target": {
"file": "dotCMS/src/main/java/com/dotmarketing/portlets/contentlet/business/HostAPIImpl.java",
"function": "resolveHostName"
},
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1"
},
{
"id": "CVE-2020-6754-72c7ba5c",
"digest": {
"threshold": 0.9,
"line_hashes": [
"87511054661411499830282760739711177365",
"70377559537387601527370175728731477612",
"15706718899924507892123850202955075348",
"194668899062072866889254087771497566583",
"118193031551879604056336466241489469969",
"63842192234830643330814048624695000949",
"136309341826815609001954834767981236966"
]
},
"source": "https://github.com/dotcms/core/commit/155eca8cfe7e67fa92cf5d0a132245b689702c2e",
"target": {
"file": "dotCMS/src/integration-test/java/com/dotmarketing/portlets/contentlet/business/HostAPITest.java"
},
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1"
}
],
"vanir_signatures_modified": "2026-10-20T14:13:59Z"
}
}
],
"modified": "2026-10-20T14:13:59.641061115Z",
"provider": "osv",
"references": [
"https://dotcms.com/security/SI-54",
"https://github.com/dotCMS/core/issues/17796"
],
"provider_metadata": {}
},
"related_cves": [
{
"value": "CVE-2020-6754",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 388735,
"published_at": "2020-02-05T17:15:10.537+00:00"
}