bson before 0.8 incorrectly uses int rather than sizet for many variables, parameters, and return values. In particular, the bsonensure_space() parameter bytesNeeded could have an integer overflow via properly constructed bson input.
{ "binaries": [ { "binary_name": "libwhoopsie-dev", "binary_version": "0.2.52.5ubuntu0.5" }, { "binary_name": "libwhoopsie0", "binary_version": "0.2.52.5ubuntu0.5" }, { "binary_name": "whoopsie", "binary_version": "0.2.52.5ubuntu0.5" } ], "availability": "No subscription required" }
{ "binaries": [ { "binary_name": "libduo-dev", "binary_version": "1.9.21-1build1" }, { "binary_name": "libduo3", "binary_version": "1.9.21-1build1" }, { "binary_name": "libpam-duo", "binary_version": "1.9.21-1build1" }, { "binary_name": "login-duo", "binary_version": "1.9.21-1build1" } ] }
{ "binaries": [ { "binary_name": "libduo-dev", "binary_version": "1.11.3-1build1" }, { "binary_name": "libduo3", "binary_version": "1.11.3-1build1" }, { "binary_name": "libpam-duo", "binary_version": "1.11.3-1build1" }, { "binary_name": "login-duo", "binary_version": "1.11.3-1build1" } ] }
{ "binaries": [ { "binary_name": "libduo-dev", "binary_version": "1.11.3-1.1build2" }, { "binary_name": "libduo3t64", "binary_version": "1.11.3-1.1build2" }, { "binary_name": "libpam-duo", "binary_version": "1.11.3-1.1build2" }, { "binary_name": "login-duo", "binary_version": "1.11.3-1.1build2" } ] }