Description
Crypt::OpenSSL::PKCS12 versions before 1.96 for Perl permits a heap OOB read in print_attribute UTF8STRING path. print_attribute() copies a UTF8STRING ASN.1 attribute value into a heap buffer sized exactly to its declared length via strncpy, leaving no NUL terminator. Downstream callers run strlen() on the result and pass the inflated length to newSVpvn(), copying attacker-influenced adjacent heap bytes into a Perl scalar.
Problem types
Product status
Any version before 1.96
References
github.com/dsully/perl-crypt-openssl-pkcs12/issues/55
metacpan.org/.../Crypt-OpenSSL-PKCS12-1.96/source/Changes.md
github.com/...a7bd2f319fa8aab8177b3d767ea06dd85ceb3173.patch