A heap-buffer overflow vulnerability was found in the Redis hyperloglog data structure versions 3.x before 3.2.13, 4.x before 4.0.14 and 5.x before 5.0.4. By carefully corrupting a hyperloglog using the SETRANGE command, an attacker could trick Redis interpretation of dense HLL encoding to write up to 3 bytes beyond the end of a heap-allocated buffer.
{
"versions": [
{
"introduced": "3.0.0"
},
{
"fixed": "3.2.13"
},
{
"introduced": "4.0.0"
},
{
"fixed": "4.0.14"
},
{
"introduced": "5.0"
},
{
"fixed": "5.0.4"
},
{
"introduced": "0"
},
{
"last_affected": "8.0"
},
{
"introduced": "0"
},
{
"last_affected": "8.2"
},
{
"introduced": "0"
},
{
"last_affected": "8.4"
},
{
"introduced": "0"
},
{
"last_affected": "8.2"
},
{
"introduced": "0"
},
{
"last_affected": "8.4"
},
{
"introduced": "0"
},
{
"last_affected": "8.2"
},
{
"introduced": "0"
},
{
"last_affected": "8.4"
}
]
}[
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "9"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "10"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "13"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "14"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "1.0"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.1"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "9.0"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "10.0"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "16.04"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "18.04"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "19.04"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "3.4"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "4.1"
}
]
}
]
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2019-10192.json"