Passing an attacker controlled size when creating an IOBuf could cause integer overflow, leading to an out of bounds write on the heap with the possibility of remote code execution. This issue affects versions of folly prior to v2021.07.22.00. This issue affects HHVM versions prior to 4.80.5, all versions between 4.81.0 and 4.102.1, all versions between 4.103.0 and 4.113.0, and versions 4.114.0, 4.115.0, 4.116.0, 4.117.0, 4.118.0 and 4.118.1.
{
"versions": [
{
"introduced": "0"
},
{
"fixed": "2021.07.22.00"
}
]
}{
"versions": [
{
"introduced": "0"
},
{
"fixed": "4.80.5"
},
{
"introduced": "4.81.0"
},
{
"last_affected": "4.102.1"
},
{
"introduced": "4.103.0"
},
{
"last_affected": "4.113.0"
},
{
"introduced": "0"
},
{
"last_affected": "4.114.0"
},
{
"introduced": "0"
},
{
"last_affected": "4.115.0"
},
{
"introduced": "0"
},
{
"last_affected": "4.116.0"
},
{
"introduced": "0"
},
{
"last_affected": "4.117.0"
},
{
"introduced": "0"
},
{
"last_affected": "4.118.0"
},
{
"introduced": "0"
},
{
"last_affected": "4.118.1"
}
]
}[
{
"id": "CVE-2021-24036-17b344a2",
"signature_version": "v1",
"source": "https://github.com/facebook/folly/commit/4f304af1411e68851bdd00ef6140e9de4616f7d3",
"signature_type": "Function",
"target": {
"file": "folly/io/IOBuf.cpp",
"function": "IOBuf::allocExtBuffer"
},
"digest": {
"function_hash": "101058570026605353774289393375736795138",
"length": 360.0
},
"deprecated": false
},
{
"id": "CVE-2021-24036-2e503417",
"signature_version": "v1",
"source": "https://github.com/facebook/folly/commit/4f304af1411e68851bdd00ef6140e9de4616f7d3",
"signature_type": "Function",
"target": {
"file": "folly/io/IOBuf.cpp",
"function": "IOBuf::reserveSlow"
},
"digest": {
"function_hash": "300101381541353608386411837847654986997",
"length": 1827.0
},
"deprecated": false
},
{
"id": "CVE-2021-24036-578245ac",
"signature_version": "v1",
"source": "https://github.com/facebook/folly/commit/4f304af1411e68851bdd00ef6140e9de4616f7d3",
"signature_type": "Function",
"target": {
"file": "folly/io/IOBuf.cpp",
"function": "IOBuf::takeOwnership"
},
"digest": {
"function_hash": "214184616704863287446728989058364003482",
"length": 1072.0
},
"deprecated": false
},
{
"id": "CVE-2021-24036-6a8658b7",
"signature_version": "v1",
"source": "https://github.com/facebook/folly/commit/4f304af1411e68851bdd00ef6140e9de4616f7d3",
"signature_type": "Function",
"target": {
"file": "folly/io/IOBuf.cpp",
"function": "IOBuf::create"
},
"digest": {
"function_hash": "329344432095125537012208963049625628710",
"length": 366.0
},
"deprecated": false
},
{
"id": "CVE-2021-24036-776139ec",
"signature_version": "v1",
"source": "https://github.com/facebook/folly/commit/4f304af1411e68851bdd00ef6140e9de4616f7d3",
"signature_type": "Function",
"target": {
"file": "folly/io/IOBuf.cpp",
"function": "IOBuf::createCombined"
},
"digest": {
"function_hash": "50115846751149371925064289565950926851",
"length": 684.0
},
"deprecated": false
},
{
"id": "CVE-2021-24036-8e360e31",
"signature_version": "v1",
"source": "https://github.com/facebook/folly/commit/4f304af1411e68851bdd00ef6140e9de4616f7d3",
"signature_type": "Line",
"target": {
"file": "folly/io/IOBuf.cpp"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"52239263734961977174785040469605375721",
"319849633777966027214184640728511722891",
"34162281867414031226333951757300532201",
"125172318702899179195657077659418332634",
"16071017778767037570949234878662773313",
"321811930034665798064079429631649303090",
"246444124007062249171465323954359758117",
"106423856644633741907949336842080825250",
"82503121539845531124952952977411060889",
"247381825733154901336667013336791666014",
"28782039112067873965861332156454313117",
"247010329757180419608288412102583295243",
"140078761327707120005032217094143773358",
"308070994957449835460514789899718115846",
"148492075258874548469797159159915041455",
"268158873973047015658416489159597106743",
"53331678438246198007797338930455607672",
"188401522289084640319742330843155388954",
"287358739990225511809245190632320532280",
"64667938215618832501170431134117757239",
"321131507378829844328748458004671879116",
"166903389308416131953688715859250075986",
"76841882018982662203122050418357594809",
"308666152884786718551262641611181446939",
"2588774276889978281487952515852303290",
"298723673138749574280872872279935220331",
"90716964481908994569817821248849082371",
"26029772372989654309659415654802348539",
"339208491430161115141517720867043387443",
"251608118565192718071827358348293831558",
"233381154501576139028008921805501247117",
"151437079142317844872812566931569574775",
"50643649638600030295830719641090782047",
"229576969108587872341459648897439426209",
"50509327755250814744071108958811135089",
"236575291243415147758787809230781753486",
"172517819203289891977927134210632426065",
"201491267502863667879201496149660238521",
"284748902179243510421409329627367018275",
"43213066404036057274667765811703142818",
"185330109400538506946867567257197992833"
]
},
"deprecated": false
},
{
"id": "CVE-2021-24036-a40e9623",
"signature_version": "v1",
"source": "https://github.com/facebook/folly/commit/4f304af1411e68851bdd00ef6140e9de4616f7d3",
"signature_type": "Function",
"target": {
"file": "folly/io/IOBuf.cpp",
"function": "operatornew"
},
"digest": {
"function_hash": "31561007903021013281236246873911670821",
"length": 266.0
},
"deprecated": false
},
{
"id": "CVE-2021-24036-a7755e37",
"signature_version": "v1",
"source": "https://github.com/facebook/folly/commit/4f304af1411e68851bdd00ef6140e9de4616f7d3",
"signature_type": "Function",
"target": {
"file": "folly/io/IOBuf.cpp",
"function": "IOBuf::goodExtBufferSize"
},
"digest": {
"function_hash": "337643003984100835936664197559241203650",
"length": 173.0
},
"deprecated": false
},
{
"id": "CVE-2021-24036-acfff15e",
"signature_version": "v1",
"source": "https://github.com/facebook/folly/commit/4baba28200d7446c870e96f3cdbeb492f54625d0",
"signature_type": "Line",
"target": {
"file": "folly/io/Cursor.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"114798731947698060065795936817179347756",
"154841872256927474148380982448796503352",
"194291705344452442725467929845713381254",
"71308228950659370311792278977926783856",
"78204928507541149341241901047658725426",
"290924255585921243093541540095107083025",
"90286109302125220875274406629714619318",
"13297911146688798534128212591770889240",
"325832238661966953239174661567981587626",
"146061943514538177213751487334670463882",
"150891836941837679045139175488455778562",
"116606084916169463880924096112267133863",
"267240508263038221006009782693600222051",
"172157468791754804754830239622103108653",
"59183046581537088522243106125365981314",
"109700770357253737814157723298644634304",
"70521835751746735128063855031651923520",
"165818866744174561288645335097621462031",
"328024043231814014648999074644327487130",
"213438922219079876235209259752045589154",
"276515508553018500039407642207835408989",
"278433795860250104221317822398714853295",
"295863904860280388876186074631993998974",
"243036559288267590729099795688238729369"
]
},
"deprecated": false
},
{
"id": "CVE-2021-24036-c7cc602d",
"signature_version": "v1",
"source": "https://github.com/facebook/hhvm/commit/00f8ad22201154c26b69a62306e0e7b2c6834444",
"signature_type": "Line",
"target": {
"file": "hphp/runtime/version.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"307205789531280114404857544258360171652",
"5572040841489618872249689282419131665",
"90351868335928761923418540724108547072",
"140335216194151808759673220052749435881"
]
},
"deprecated": false
}
]
"2026-04-11T13:53:56Z"
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-24036.json"