OpenSSH 7.7 through 7.9 and 8.x before 8.1, when compiled with an experimental key type, has a pre-authentication integer overflow if a client or server is configured to use a crafted XMSS key. This leads to memory corruption and local code execution because of an error in the XMSS key parsing algorithm. NOTE: the XMSS implementation is considered experimental in all released OpenSSH versions, and there is no supported way to enable it when building portable OpenSSH.
The product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will always be larger than the original value. This occurs when an integer value is incremented to a value that is too large to store in the associated representation. When this occurs, the value may become a very small or negative number.
Link | Tags |
---|---|
https://www.openssh.com/releasenotes.html | release notes |
https://www.openwall.com/lists/oss-security/2019/10/09/1 | third party advisory mailing list |
https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/sshkey-xmss.c.diff?r1=1.5&r2=1.6&f=h | patch |
https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/sshkey-xmss.c | release notes vendor advisory |
https://bugzilla.suse.com/show_bug.cgi?id=1153537 | third party advisory issue tracking |
https://ssd-disclosure.com/archives/4033/ssd-advisory-openssh-pre-auth-xmss-integer-overflow | third party advisory exploit |
https://security.netapp.com/advisory/ntap-20191024-0003/ | third party advisory |
https://security.gentoo.org/glsa/201911-01 | third party advisory vendor advisory |
https://cert-portal.siemens.com/productcert/pdf/ssa-412672.pdf | third party advisory |