Encryption key can be recalculated when using normal mailform when [FE][strictFormmail] == 0
These settings required for being exploitable:
Reported by Stefan Schuler.
Security Team OTRS reference: 2009021010000086
(issue imported from #M12310)
#2 Updated by Helmut Hummel over 9 years ago
Comments from Philippe Oechslin: ======================================================
Ok, I was looking at 4.3.1 but missed that sha1. But still:
- the ascii cleartext is xored with hex digits of the key, making only
16 possible ciphertexts for each character. For example, if the
cleartext is made only of 'a', '.' and '
', you can decode it right' doesn't overlap with any alphanumerical
away, as the 16 possible encodings of these three characters never
overlap. Actually the '
- the $key, even though it is a sha1 of the encryption key, is the same
for all encodings. If you know one cleartext that is long enough you can
decode other ciphertexts. It would be good to have something like
$key = sha1($this->TYPO3_CONF_VARS['SYS']['encryptionKey'] .':'. $string);
or even make that
$key = sha1($this->TYPO3_CONF_VARS['SYS']['encryptionKey'] .
so that you can easily derive different keys for other purposes.