TYPO3 Cross-Site Scripting in Frontend User Login
The advisory, in context
Failing to properly encode user input, login status display is vulnerable to cross-site scripting in the website frontend. A valid user account is needed in order to exploit this vulnerability - either a backend user or a frontend user having the possibility to modify their user profile.
Template patterns that are affected are
- ###FEUSER_[fieldName]### using system extension felogin
- <!--###USERNAME###--> for regular frontend rendering (pattern can be defined individually using TypoScript setting config.USERNAME_substToken)
Affected packages
Start with the recorded fix for your release branch. Check your installed version and test compatibility before upgrading. Fixing this advisory does not rule out other vulnerabilities in the release.
From 7.0.0 before 7.6.32
Fixed in 7.6.32
41 explicitly affected versions
7.0.0, 7.0.1, 7.0.2, 7.1.0, 7.2.0, 7.3.0, 7.3.1, 7.4.0, 7.5.0, 7.6.0, 7.6.1, 7.6.10, 7.6.11, 7.6.12, 7.6.13, 7.6.14, 7.6.15, 7.6.16, 7.6.17, 7.6.18, 7.6.19, 7.6.2, 7.6.3, 7.6.4, 7.6.5, 7.6.6, 7.6.7, 7.6.8, 7.6.9, v7.6.20, v7.6.21, v7.6.22, v7.6.23, v7.6.24, v7.6.25, v7.6.26, v7.6.27, v7.6.28, v7.6.29, v7.6.30, v7.6.31
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "7.0.0"
},
{
"fixed": "7.6.32"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"7.0.0",
"7.0.1",
"7.0.2",
"7.1.0",
"7.2.0",
"7.3.0",
"7.3.1",
"7.4.0",
"7.5.0",
"7.6.0",
"7.6.1",
"7.6.10",
"7.6.11",
"7.6.12",
"7.6.13",
"7.6.14",
"7.6.15",
"7.6.16",
"7.6.17",
"7.6.18",
"7.6.19",
"7.6.2",
"7.6.3",
"7.6.4",
"7.6.5",
"7.6.6",
"7.6.7",
"7.6.8",
"7.6.9",
"v7.6.20",
"v7.6.21",
"v7.6.22",
"v7.6.23",
"v7.6.24",
"v7.6.25",
"v7.6.26",
"v7.6.27",
"v7.6.28",
"v7.6.29",
"v7.6.30",
"v7.6.31"
]
}From 8.0.0 before 8.7.21
Fixed in 8.7.21
36 explicitly affected versions
8.0.0, 8.0.1, 8.1.0, 8.1.1, 8.1.2, 8.2.0, 8.2.1, 8.3.0, 8.3.1, 8.4.0, 8.4.1, 8.5.0, 8.5.1, 8.6.0, 8.6.1, 8.7.0, 8.7.1, 8.7.2, v8.7.10, v8.7.11, v8.7.12, v8.7.13, v8.7.14, v8.7.15, v8.7.16, v8.7.17, v8.7.18, v8.7.19, v8.7.20, v8.7.3, v8.7.4, v8.7.5, v8.7.6, v8.7.7, v8.7.8, v8.7.9
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "8.0.0"
},
{
"fixed": "8.7.21"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"8.0.0",
"8.0.1",
"8.1.0",
"8.1.1",
"8.1.2",
"8.2.0",
"8.2.1",
"8.3.0",
"8.3.1",
"8.4.0",
"8.4.1",
"8.5.0",
"8.5.1",
"8.6.0",
"8.6.1",
"8.7.0",
"8.7.1",
"8.7.2",
"v8.7.10",
"v8.7.11",
"v8.7.12",
"v8.7.13",
"v8.7.14",
"v8.7.15",
"v8.7.16",
"v8.7.17",
"v8.7.18",
"v8.7.19",
"v8.7.20",
"v8.7.3",
"v8.7.4",
"v8.7.5",
"v8.7.6",
"v8.7.7",
"v8.7.8",
"v8.7.9"
]
}From 9.0.0 before 9.5.2
Fixed in 9.5.2
11 explicitly affected versions
v9.0.0, v9.1.0, v9.2.0, v9.2.1, v9.3.0, v9.3.1, v9.3.2, v9.3.3, v9.4.0, v9.5.0, v9.5.1
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "9.0.0"
},
{
"fixed": "9.5.2"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"v9.0.0",
"v9.1.0",
"v9.2.0",
"v9.2.1",
"v9.3.0",
"v9.3.1",
"v9.3.2",
"v9.3.3",
"v9.4.0",
"v9.5.0",
"v9.5.1"
]
}References
- https://github.com/TYPO3/typo3/commit/1c85fe70269e2ff8ecf0b6d5f16550c6cd0ddc78
- https://github.com/TYPO3/typo3/commit/373bec5d7d415f0764ebbadc7970610dc26da068
- https://github.com/TYPO3/typo3/commit/e4143195e1451630f058a58ab62d92135948a927
- https://github.com/FriendsOfPHP/security-advisories/blob/master/typo3/cms/2018-12-11-3.yaml
- https://github.com/TYPO3/typo3
- https://typo3.org/security/advisory/typo3-core-sa-2018-008