Project libssh2 Security Advisory, March 18 2019 - Permalink
A server could send a specially crafted partial SFTP packet with a zero value for the payload length. This zero value would be used to then allocate memory resulting in a zero byte allocation and possible out of bounds read (CWE-130).
There are no known exploits of this flaw at this time.
The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2019-3858 to this issue.
- Affected versions: versions 0.3 up to and including 1.8.0
- Not affected versions: libssh2 >= 1.8.1
libssh2 1.8.1 ensures the length of the payload is not zero before allocing the memory buffer using the value.
A patch for this problem is available
We suggest you take one of the following actions immediately, in order of preference:
A - Upgrade to libssh2 1.8.1 or later
B - Apply the patch and rebuild libssh2
It was first reported to the libssh2 project on Dec 3 2018 by Chris Coulson.
libssh2 1.8.1 was released on March 18 2019, coordinated with the publication of this advisory.
Reported by Chris Coulson of Canonical Ltd.