Description
NetBSD prior to commit ec8451e contains a signed integer overflow vulnerability in the cryptodev_op() function in sys/opencrypto/cryptodev.c where the local variable iov_len is declared as a signed int but assigned from an unsigned cop->dst_len value, causing undefined behavior when cop->dst_len exceeds INT_MAX. A local attacker with access to /dev/crypto and a compression session type can exploit this vulnerability by providing a dst_len value exceeding INT_MAX to trigger a kernel panic through NULL pointer dereference when CONFIG_SVS is disabled and corrupted UIO pointer arithmetic.
Problem types
Integer Overflow or Wraparound
Product status
Any version before ec8451efc1565516aba9e7047e1a1a1ce7953a2f
Credits
nasm
VulnCheck
References
nasm.re/posts/uaf_netbsd_crypto/
github.com/...ommit/ec8451efc1565516aba9e7047e1a1a1ce7953a2f
www.vulncheck.com/...verflow-in-cryptodev-op-via-cryptodev-c