diff options
author | Eli Collins <elic@assurancetechnologies.com> | 2016-06-30 22:52:52 -0400 |
---|---|---|
committer | Eli Collins <elic@assurancetechnologies.com> | 2016-06-30 22:52:52 -0400 |
commit | 339dd6a12ca5242409cacf8e696f32508888fcda (patch) | |
tree | 48c7264cb2e1895ecee250941820a46166c025c6 /docs/lib/passlib.hash.sha256_crypt.rst | |
parent | b4d7115e9c38ef95e80e04e37fe84ba8a777def6 (diff) | |
download | passlib-339dd6a12ca5242409cacf8e696f32508888fcda.tar.gz |
docs: noted issue with sha256_crypt
Diffstat (limited to 'docs/lib/passlib.hash.sha256_crypt.rst')
-rw-r--r-- | docs/lib/passlib.hash.sha256_crypt.rst | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/docs/lib/passlib.hash.sha256_crypt.rst b/docs/lib/passlib.hash.sha256_crypt.rst index adc5557..4c098ba 100644 --- a/docs/lib/passlib.hash.sha256_crypt.rst +++ b/docs/lib/passlib.hash.sha256_crypt.rst @@ -77,6 +77,25 @@ which can be used when the rounds parameter is equal to 5000 The algorithm used by SHA256-Crypt is laid out in detail in the specification document linked to below [#f1]_. +Security Issues +=============== +* The algorithm's initialization stage contains a loop which varies linearly with the + square of the password size; and further loops which vary linearly with the + password size * rounds. + + - This means an attacker could provide a maliciously large password at the login screen + to attempt a DOS on a publically visible login. For example, a 32kib password + would require hashing 1gib of data. + Passlib mitigates this by limiting the maximum password size to 4k by default. + + - An attacker could also theoretically determine a password's size by observing + the time taken on a successful login, and then attempting verification themselves + to find the size password which has an equivalent delay. This has not been applied + in practice, probably due to the fact that (for normal passwords < 64 bytes), + the contribution of the password size to the overall time taken is below + the observable noise level when evesdropping on the timings of successful logins + for a single user. + Deviations ========== This implementation of sha256-crypt differs from the specification, |