The (1) otrl_base64_otr_decode function in src/b64.c; (2) otrl_proto_data_read_flags and (3) otrl_proto_accept_data functions in src/proto.c; and (4) decode function in toolkit/parse.c in libotr before 3.2.1 allocates a zero-length buffer when decoding a base64 string, which allows remote attackers to cause a denial of service (application crash) via a message with the value "?OTR:===.", which triggers a heap-based buffer overflow.
https://exchange.xforce.ibmcloud.com/vulnerabilities/77528
https://bugzilla.redhat.com/show_bug.cgi?id=846377
http://www.ubuntu.com/usn/USN-1541-1
http://www.securityfocus.com/bid/54907
http://www.mandriva.com/security/advisories?name=MDVSA-2013:097
http://www.mandriva.com/security/advisories?name=MDVSA-2012:131
http://www.debian.org/security/2012/dsa-2526
http://lists.opensuse.org/opensuse-security-announce/2013-01/msg00019.html
http://lists.opensuse.org/opensuse-security-announce/2012-11/msg00019.html
http://lists.opensuse.org/opensuse-security-announce/2012-11/msg00016.html
http://lists.cypherpunks.ca/pipermail/otr-dev/2012-July/001348.html
http://lists.cypherpunks.ca/pipermail/otr-dev/2012-July/001347.html