In dotCMS, versions mentioned, a flaw in the NormalizationFilter does not strip double slashes (//) from URLs, potentially enabling bypasses for XSS and access controls. An example affected URL is https://demo.dotcms.com//html/portlet/ext/files/edittextinc.jsp , which should return a 404 response but didn't.
The oversight in the default invalid URL character list can be viewed at the provided GitHub link https://github.com/dotCMS/core/blob/master/dotCMS/src/main/java/com/dotcms/filters/NormalizationFilter.java#L37 .
To mitigate, users can block URLs with double slashes at firewalls or utilize dotCMS config variables.
Specifically, they can use the DOTURINORMALIZATIONFORBIDDENSTRINGS environmental variable to add // to the list of invalid strings.
Additionally, the DOTURINORMALIZATIONFORBIDDENREGEX variable offers more detailed control, for instance, to block //html.* URLs.
Fix Version:23.06+, LTS 22.03.7+, LTS 23.01.4+
{
"cwe_ids": [
"CWE-79"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/3xxx/CVE-2023-3042.json",
"unresolved_ranges": [
{
"extracted_events": [
{
"introduced": "5.3.8"
},
{
"last_affected": "5.3.8"
},
{
"introduced": "21.06"
},
{
"last_affected": "21.06"
},
{
"introduced": "22.03"
},
{
"last_affected": "22.03"
},
{
"introduced": "23.01"
},
{
"last_affected": "23.01"
}
],
"source": "AFFECTED_FIELD"
}
],
"cna_assigner": "dotCMS"
}{
"cpe": [
"cpe:2.3:a:dotcms:dotcms:5.3.8:*:*:*:*:*:*:*",
"cpe:2.3:a:dotcms:dotcms:21.06:*:*:*:*:*:*:*",
"cpe:2.3:a:dotcms:dotcms:22.03:*:*:*:*:*:*:*",
"cpe:2.3:a:dotcms:dotcms:23.01:*:*:*:*:*:*:*"
],
"extracted_events": [
{
"introduced": "5.3.8"
},
{
"last_affected": "5.3.8"
},
{
"introduced": "21.06"
},
{
"last_affected": "21.06"
},
{
"introduced": "22.03"
},
{
"last_affected": "22.03"
},
{
"introduced": "23.01"
},
{
"last_affected": "23.01"
}
],
"source": "CPE_STRING"
}