Description In Spring Framework, versions 6.0.x as of 6.0.5, versions 6.1.x and 6.2.x, an application is vulnerable to a reflected file download (RFD) attack when it sets a “Content-Disposition” header with a non-ASCII charset, where the filename attribute is derived from user-supplied input. Specifically, an application is vulnerable when all the following are true: * The header is prepared with org.springframework.http.ContentDisposition. * The filename is set via ContentDisposition.Builder#filename(String, Charset). * The value for the filename is derived from user-supplied input. * The application does not sanitize the user-supplied input. * The downloaded content of the response is injected with malicious commands by the attacker (see RFD paper reference for details). An application is not vulnerable if any of the following is true: * The application does not set a “Content-Disposition” response header. * The header is not prepared with org.springframework.http.ContentDisposition. * The filename is set via one of: * ContentDisposition.Builder#filename(String), or * ContentDisposition.Builder#filename(String, ASCII) * The filename is not derived from user-supplied input. * The filename is derived from user-supplied input but sanitized by the application. * The attacker cannot inject malicious content in the downloaded content of the response. Affected Spring Products and VersionsSpring Framework: * 6.2.0 - 6.2.7 * 6.1.0 - 6.1.20 * 6.0.5 - 6.0.28 * Older, unsupported versions are not affected MitigationUsers of affected versions should upgrade to the corresponding fixed version. Affected version(s)Fix versionAvailability6.2.x6.2.8OSS6.1.x6.1.21OSS6.0.x6.0.29 Commercial https://enterprise.spring.io/ No further mitigation steps are necessary. CWE-113 in Content-Disposition handling in VMware Spring Framework versions 6.0.5 to 6.2.7 allows remote attackers to launch Reflected File Download (RFD) attacks via unsanitized user input in ContentDisposition.Builder#filename(String, Charset) with non-ASCII charsets.
{
"binaries": [
{
"binary_name": "libspring-aop-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-beans-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-context-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-context-support-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-core-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-expression-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-instrument-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-jdbc-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-jms-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-messaging-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-orm-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-oxm-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-test-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-transaction-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-web-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-web-portlet-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-web-servlet-java",
"binary_version": "4.3.30-3ubuntu1"
}
]
}{
"binaries": [
{
"binary_name": "libspring-aop-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-beans-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-context-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-context-support-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-core-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-expression-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-instrument-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-jdbc-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-jms-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-messaging-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-orm-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-oxm-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-test-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-transaction-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-web-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-web-portlet-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-web-servlet-java",
"binary_version": "4.3.30-3ubuntu1"
}
]
}{
"binaries": [
{
"binary_name": "libspring-aop-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-beans-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-context-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-context-support-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-core-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-expression-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-instrument-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-jdbc-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-jms-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-messaging-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-orm-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-oxm-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-test-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-transaction-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-web-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-web-portlet-java",
"binary_version": "4.3.30-3ubuntu1"
},
{
"binary_name": "libspring-web-servlet-java",
"binary_version": "4.3.30-3ubuntu1"
}
]
}{
"binaries": [
{
"binary_name": "libspring-aop-java",
"binary_version": "3.0.6.RELEASE-13ubuntu0.1~esm2"
},
{
"binary_name": "libspring-beans-java",
"binary_version": "3.0.6.RELEASE-13ubuntu0.1~esm2"
},
{
"binary_name": "libspring-context-java",
"binary_version": "3.0.6.RELEASE-13ubuntu0.1~esm2"
},
{
"binary_name": "libspring-context-support-java",
"binary_version": "3.0.6.RELEASE-13ubuntu0.1~esm2"
},
{
"binary_name": "libspring-core-java",
"binary_version": "3.0.6.RELEASE-13ubuntu0.1~esm2"
},
{
"binary_name": "libspring-expression-java",
"binary_version": "3.0.6.RELEASE-13ubuntu0.1~esm2"
},
{
"binary_name": "libspring-instrument-java",
"binary_version": "3.0.6.RELEASE-13ubuntu0.1~esm2"
},
{
"binary_name": "libspring-jdbc-java",
"binary_version": "3.0.6.RELEASE-13ubuntu0.1~esm2"
},
{
"binary_name": "libspring-jms-java",
"binary_version": "3.0.6.RELEASE-13ubuntu0.1~esm2"
},
{
"binary_name": "libspring-orm-java",
"binary_version": "3.0.6.RELEASE-13ubuntu0.1~esm2"
},
{
"binary_name": "libspring-oxm-java",
"binary_version": "3.0.6.RELEASE-13ubuntu0.1~esm2"
},
{
"binary_name": "libspring-test-java",
"binary_version": "3.0.6.RELEASE-13ubuntu0.1~esm2"
},
{
"binary_name": "libspring-transaction-java",
"binary_version": "3.0.6.RELEASE-13ubuntu0.1~esm2"
},
{
"binary_name": "libspring-web-java",
"binary_version": "3.0.6.RELEASE-13ubuntu0.1~esm2"
},
{
"binary_name": "libspring-web-portlet-java",
"binary_version": "3.0.6.RELEASE-13ubuntu0.1~esm2"
},
{
"binary_name": "libspring-web-servlet-java",
"binary_version": "3.0.6.RELEASE-13ubuntu0.1~esm2"
},
{
"binary_name": "libspring-web-struts-java",
"binary_version": "3.0.6.RELEASE-13ubuntu0.1~esm2"
}
]
}{
"binaries": [
{
"binary_name": "libspring-aop-java",
"binary_version": "3.2.13-5ubuntu0.1~esm1"
},
{
"binary_name": "libspring-beans-java",
"binary_version": "3.2.13-5ubuntu0.1~esm1"
},
{
"binary_name": "libspring-context-java",
"binary_version": "3.2.13-5ubuntu0.1~esm1"
},
{
"binary_name": "libspring-context-support-java",
"binary_version": "3.2.13-5ubuntu0.1~esm1"
},
{
"binary_name": "libspring-core-java",
"binary_version": "3.2.13-5ubuntu0.1~esm1"
},
{
"binary_name": "libspring-expression-java",
"binary_version": "3.2.13-5ubuntu0.1~esm1"
},
{
"binary_name": "libspring-instrument-java",
"binary_version": "3.2.13-5ubuntu0.1~esm1"
},
{
"binary_name": "libspring-jdbc-java",
"binary_version": "3.2.13-5ubuntu0.1~esm1"
},
{
"binary_name": "libspring-jms-java",
"binary_version": "3.2.13-5ubuntu0.1~esm1"
},
{
"binary_name": "libspring-orm-java",
"binary_version": "3.2.13-5ubuntu0.1~esm1"
},
{
"binary_name": "libspring-oxm-java",
"binary_version": "3.2.13-5ubuntu0.1~esm1"
},
{
"binary_name": "libspring-test-java",
"binary_version": "3.2.13-5ubuntu0.1~esm1"
},
{
"binary_name": "libspring-transaction-java",
"binary_version": "3.2.13-5ubuntu0.1~esm1"
},
{
"binary_name": "libspring-web-java",
"binary_version": "3.2.13-5ubuntu0.1~esm1"
},
{
"binary_name": "libspring-web-portlet-java",
"binary_version": "3.2.13-5ubuntu0.1~esm1"
},
{
"binary_name": "libspring-web-servlet-java",
"binary_version": "3.2.13-5ubuntu0.1~esm1"
}
]
}{
"binaries": [
{
"binary_name": "libspring-aop-java",
"binary_version": "4.3.22-1~18.04.1~esm1"
},
{
"binary_name": "libspring-beans-java",
"binary_version": "4.3.22-1~18.04.1~esm1"
},
{
"binary_name": "libspring-context-java",
"binary_version": "4.3.22-1~18.04.1~esm1"
},
{
"binary_name": "libspring-context-support-java",
"binary_version": "4.3.22-1~18.04.1~esm1"
},
{
"binary_name": "libspring-core-java",
"binary_version": "4.3.22-1~18.04.1~esm1"
},
{
"binary_name": "libspring-expression-java",
"binary_version": "4.3.22-1~18.04.1~esm1"
},
{
"binary_name": "libspring-instrument-java",
"binary_version": "4.3.22-1~18.04.1~esm1"
},
{
"binary_name": "libspring-jdbc-java",
"binary_version": "4.3.22-1~18.04.1~esm1"
},
{
"binary_name": "libspring-jms-java",
"binary_version": "4.3.22-1~18.04.1~esm1"
},
{
"binary_name": "libspring-messaging-java",
"binary_version": "4.3.22-1~18.04.1~esm1"
},
{
"binary_name": "libspring-orm-java",
"binary_version": "4.3.22-1~18.04.1~esm1"
},
{
"binary_name": "libspring-oxm-java",
"binary_version": "4.3.22-1~18.04.1~esm1"
},
{
"binary_name": "libspring-test-java",
"binary_version": "4.3.22-1~18.04.1~esm1"
},
{
"binary_name": "libspring-transaction-java",
"binary_version": "4.3.22-1~18.04.1~esm1"
},
{
"binary_name": "libspring-web-java",
"binary_version": "4.3.22-1~18.04.1~esm1"
},
{
"binary_name": "libspring-web-portlet-java",
"binary_version": "4.3.22-1~18.04.1~esm1"
},
{
"binary_name": "libspring-web-servlet-java",
"binary_version": "4.3.22-1~18.04.1~esm1"
}
]
}{
"binaries": [
{
"binary_name": "libspring-aop-java",
"binary_version": "4.3.22-4ubuntu0.1~esm1"
},
{
"binary_name": "libspring-beans-java",
"binary_version": "4.3.22-4ubuntu0.1~esm1"
},
{
"binary_name": "libspring-context-java",
"binary_version": "4.3.22-4ubuntu0.1~esm1"
},
{
"binary_name": "libspring-context-support-java",
"binary_version": "4.3.22-4ubuntu0.1~esm1"
},
{
"binary_name": "libspring-core-java",
"binary_version": "4.3.22-4ubuntu0.1~esm1"
},
{
"binary_name": "libspring-expression-java",
"binary_version": "4.3.22-4ubuntu0.1~esm1"
},
{
"binary_name": "libspring-instrument-java",
"binary_version": "4.3.22-4ubuntu0.1~esm1"
},
{
"binary_name": "libspring-jdbc-java",
"binary_version": "4.3.22-4ubuntu0.1~esm1"
},
{
"binary_name": "libspring-jms-java",
"binary_version": "4.3.22-4ubuntu0.1~esm1"
},
{
"binary_name": "libspring-messaging-java",
"binary_version": "4.3.22-4ubuntu0.1~esm1"
},
{
"binary_name": "libspring-orm-java",
"binary_version": "4.3.22-4ubuntu0.1~esm1"
},
{
"binary_name": "libspring-oxm-java",
"binary_version": "4.3.22-4ubuntu0.1~esm1"
},
{
"binary_name": "libspring-test-java",
"binary_version": "4.3.22-4ubuntu0.1~esm1"
},
{
"binary_name": "libspring-transaction-java",
"binary_version": "4.3.22-4ubuntu0.1~esm1"
},
{
"binary_name": "libspring-web-java",
"binary_version": "4.3.22-4ubuntu0.1~esm1"
},
{
"binary_name": "libspring-web-portlet-java",
"binary_version": "4.3.22-4ubuntu0.1~esm1"
},
{
"binary_name": "libspring-web-servlet-java",
"binary_version": "4.3.22-4ubuntu0.1~esm1"
}
]
}{
"binaries": [
{
"binary_name": "libspring-aop-java",
"binary_version": "4.3.30-1ubuntu0.1~esm1"
},
{
"binary_name": "libspring-beans-java",
"binary_version": "4.3.30-1ubuntu0.1~esm1"
},
{
"binary_name": "libspring-context-java",
"binary_version": "4.3.30-1ubuntu0.1~esm1"
},
{
"binary_name": "libspring-context-support-java",
"binary_version": "4.3.30-1ubuntu0.1~esm1"
},
{
"binary_name": "libspring-core-java",
"binary_version": "4.3.30-1ubuntu0.1~esm1"
},
{
"binary_name": "libspring-expression-java",
"binary_version": "4.3.30-1ubuntu0.1~esm1"
},
{
"binary_name": "libspring-instrument-java",
"binary_version": "4.3.30-1ubuntu0.1~esm1"
},
{
"binary_name": "libspring-jdbc-java",
"binary_version": "4.3.30-1ubuntu0.1~esm1"
},
{
"binary_name": "libspring-jms-java",
"binary_version": "4.3.30-1ubuntu0.1~esm1"
},
{
"binary_name": "libspring-messaging-java",
"binary_version": "4.3.30-1ubuntu0.1~esm1"
},
{
"binary_name": "libspring-orm-java",
"binary_version": "4.3.30-1ubuntu0.1~esm1"
},
{
"binary_name": "libspring-oxm-java",
"binary_version": "4.3.30-1ubuntu0.1~esm1"
},
{
"binary_name": "libspring-test-java",
"binary_version": "4.3.30-1ubuntu0.1~esm1"
},
{
"binary_name": "libspring-transaction-java",
"binary_version": "4.3.30-1ubuntu0.1~esm1"
},
{
"binary_name": "libspring-web-java",
"binary_version": "4.3.30-1ubuntu0.1~esm1"
},
{
"binary_name": "libspring-web-portlet-java",
"binary_version": "4.3.30-1ubuntu0.1~esm1"
},
{
"binary_name": "libspring-web-servlet-java",
"binary_version": "4.3.30-1ubuntu0.1~esm1"
}
]
}{
"binaries": [
{
"binary_name": "libspring-aop-java",
"binary_version": "4.3.30-2ubuntu0.24.04.1~esm1"
},
{
"binary_name": "libspring-beans-java",
"binary_version": "4.3.30-2ubuntu0.24.04.1~esm1"
},
{
"binary_name": "libspring-context-java",
"binary_version": "4.3.30-2ubuntu0.24.04.1~esm1"
},
{
"binary_name": "libspring-context-support-java",
"binary_version": "4.3.30-2ubuntu0.24.04.1~esm1"
},
{
"binary_name": "libspring-core-java",
"binary_version": "4.3.30-2ubuntu0.24.04.1~esm1"
},
{
"binary_name": "libspring-expression-java",
"binary_version": "4.3.30-2ubuntu0.24.04.1~esm1"
},
{
"binary_name": "libspring-instrument-java",
"binary_version": "4.3.30-2ubuntu0.24.04.1~esm1"
},
{
"binary_name": "libspring-jdbc-java",
"binary_version": "4.3.30-2ubuntu0.24.04.1~esm1"
},
{
"binary_name": "libspring-jms-java",
"binary_version": "4.3.30-2ubuntu0.24.04.1~esm1"
},
{
"binary_name": "libspring-messaging-java",
"binary_version": "4.3.30-2ubuntu0.24.04.1~esm1"
},
{
"binary_name": "libspring-orm-java",
"binary_version": "4.3.30-2ubuntu0.24.04.1~esm1"
},
{
"binary_name": "libspring-oxm-java",
"binary_version": "4.3.30-2ubuntu0.24.04.1~esm1"
},
{
"binary_name": "libspring-test-java",
"binary_version": "4.3.30-2ubuntu0.24.04.1~esm1"
},
{
"binary_name": "libspring-transaction-java",
"binary_version": "4.3.30-2ubuntu0.24.04.1~esm1"
},
{
"binary_name": "libspring-web-java",
"binary_version": "4.3.30-2ubuntu0.24.04.1~esm1"
},
{
"binary_name": "libspring-web-portlet-java",
"binary_version": "4.3.30-2ubuntu0.24.04.1~esm1"
},
{
"binary_name": "libspring-web-servlet-java",
"binary_version": "4.3.30-2ubuntu0.24.04.1~esm1"
}
]
}