It was discovered that the qpid::framing::Buffer::checkAvailable() function could crash due to a wraparound. The function looks like this: void checkAvailable(uint32_t count) { if (position + count > size) throw OutOfBounds(); } where position + count can overflow, resulting in a value which is smaller than size. The put*String() functions contain potential wraparounds in the argument to checkAvailable(). Acknowledgements: This issue was discovered by Florian Weimer of the Red Hat Product Security Team.
This is corrected upstream: https://svn.apache.org/viewvc?view=revision&revision=1453031 External References: https://issues.apache.org/jira/browse/QPID-4629
This issue has been addressed in following products: MRG for RHEL-6 v.2 Via RHSA-2013:0562 https://rhn.redhat.com/errata/RHSA-2013-0562.html
This issue has been addressed in following products: MRG for RHEL-5 v. 2 Via RHSA-2013:0561 https://rhn.redhat.com/errata/RHSA-2013-0561.html
Created qpid-cpp tracking bugs for this issue Affects: fedora-all [bug 918804]