Integer overflow in the PointGFp constructor in Botan before 1.10.11 and 1.11.x before 1.11.27 allows remote attackers to overwrite memory and possibly execute arbitrary code via a crafted ECC point, which triggers a heap-based buffer overflow. The bigintmul and bigintsqr functions received the size of the output buffer, but only used it to dispatch to a faster algorithm in cases where there was sufficient output space to call an unrolled multiplication function. The result is a heap overflow accessible via ECC point decoding, which accepted untrusted inputs. This is likely exploitable for remote code execution.
{ "ubuntu_priority": "medium", "availability": "No subscription required", "binaries": [ { "binary_name": "botan1.10-dbg", "binary_version": "1.10.5-1+deb7u1ubuntu0.14.04.1" }, { "binary_name": "libbotan-1.10-0", "binary_version": "1.10.5-1+deb7u1ubuntu0.14.04.1" }, { "binary_name": "libbotan-1.10-0-dbgsym", "binary_version": "1.10.5-1+deb7u1ubuntu0.14.04.1" }, { "binary_name": "libbotan1.10-dev", "binary_version": "1.10.5-1+deb7u1ubuntu0.14.04.1" }, { "binary_name": "libbotan1.10-dev-dbgsym", "binary_version": "1.10.5-1+deb7u1ubuntu0.14.04.1" } ] }
{ "ubuntu_priority": "medium", "availability": "No subscription required", "binaries": [ { "binary_name": "botan1.10-dbg", "binary_version": "1.10.12-1" }, { "binary_name": "libbotan-1.10-1", "binary_version": "1.10.12-1" }, { "binary_name": "libbotan-1.10-1-dbgsym", "binary_version": "1.10.12-1" }, { "binary_name": "libbotan1.10-dev", "binary_version": "1.10.12-1" }, { "binary_name": "libbotan1.10-dev-dbgsym", "binary_version": "1.10.12-1" } ] }