Path Equivalence: 'file.Name' (Internal Dot) leading to Remote Code Execution and/or Information disclosure and/or malicious content added to uploaded files via write enabled Default Servlet in Apache Tomcat.
This issue affects Apache Tomcat: from 11.0.0-M1 through 11.0.2, from 10.1.0-M1 through 10.1.34, from 9.0.0.M1 through 9.0.98. The following versions were EOL at the time the CVE was created but are known to be affected: 8.5.0 though 8.5.100. Other, older, EOL versions may also be affected.
If all of the following were true, a malicious user was able to view security sensitive files and/or inject content into those files: - writes enabled for the default servlet (disabled by default) - support for partial PUT (enabled by default) - a target URL for security sensitive uploads that was a sub-directory of a target URL for public uploads - attacker knowledge of the names of security sensitive files being uploaded - the security sensitive files also being uploaded via partial PUT
If all of the following were true, a malicious user was able to perform remote code execution: - writes enabled for the default servlet (disabled by default) - support for partial PUT (enabled by default) - application was using Tomcat's file based session persistence with the default storage location - application included a library that may be leveraged in a deserialization attack
Users are recommended to upgrade to version 11.0.3, 10.1.35 or 9.0.99, which fixes the issue.
{
"versions": [
{
"introduced": "0"
},
{
"fixed": "9.0.99"
},
{
"introduced": "10.1.1"
},
{
"fixed": "10.1.35"
},
{
"introduced": "11.0.1"
},
{
"fixed": "11.0.3"
},
{
"introduced": "0"
},
{
"last_affected": "10.1.0-milestone1"
},
{
"introduced": "0"
},
{
"last_affected": "10.1.0-milestone10"
},
{
"introduced": "0"
},
{
"last_affected": "10.1.0-milestone11"
},
{
"introduced": "0"
},
{
"last_affected": "10.1.0-milestone12"
},
{
"introduced": "0"
},
{
"last_affected": "10.1.0-milestone13"
},
{
"introduced": "0"
},
{
"last_affected": "10.1.0-milestone14"
},
{
"introduced": "0"
},
{
"last_affected": "10.1.0-milestone15"
},
{
"introduced": "0"
},
{
"last_affected": "10.1.0-milestone16"
},
{
"introduced": "0"
},
{
"last_affected": "10.1.0-milestone17"
},
{
"introduced": "0"
},
{
"last_affected": "10.1.0-milestone18"
},
{
"introduced": "0"
},
{
"last_affected": "10.1.0-milestone19"
},
{
"introduced": "0"
},
{
"last_affected": "10.1.0-milestone2"
},
{
"introduced": "0"
},
{
"last_affected": "10.1.0-milestone20"
},
{
"introduced": "0"
},
{
"last_affected": "10.1.0-milestone3"
},
{
"introduced": "0"
},
{
"last_affected": "10.1.0-milestone4"
},
{
"introduced": "0"
},
{
"last_affected": "10.1.0-milestone5"
},
{
"introduced": "0"
},
{
"last_affected": "10.1.0-milestone6"
},
{
"introduced": "0"
},
{
"last_affected": "10.1.0-milestone7"
},
{
"introduced": "0"
},
{
"last_affected": "10.1.0-milestone8"
},
{
"introduced": "0"
},
{
"last_affected": "10.1.0-milestone9"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone1"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone10"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone11"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone12"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone13"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone14"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone15"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone16"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone17"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone18"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone19"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone2"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone20"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone21"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone22"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone23"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone24"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone25"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone3"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone4"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone5"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone6"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone7"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone8"
},
{
"introduced": "0"
},
{
"last_affected": "11.0.0-milestone9"
},
{
"introduced": "0"
},
{
"last_affected": "11.0"
}
]
}