Security advisory
Call to the scrypt_enc() function in HHVM can lead to heap corruption by using specifically crafted parameters (N, r and p). This happens if the parameters are configurable by an attacker for instance by providing the output of scrypt_enc() in a context where Hack/PHP code would attempt to verify it by re-running scrypt_enc() with the same parameters. This could result in information disclosure, memory being overwriten or crashes of the HHVM process. This issue affects versions 4.3.0, 4.4.0, 4.5.0, 4.6.0, 4.7.0, 4.8.0, versions 3.30.5 and below, and all versions in the 4.0, 4.1, and 4.2 series.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2019-3570
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 10:46 UTC · Revision 1
Source evidence
Call to the scrypt_enc() function in HHVM can lead to heap corruption by using specifically crafted parameters (N, r and p). This happens if the parameters are configurable by an attacker for instance by providing the output of scrypt_enc() in a context where Hack/PHP code would attempt to verify it by re-running scrypt_enc() with the same parameters. This could result in information disclosure, memory being overwriten or crashes of the HHVM process. This issue affects versions 4.3.0, 4.4.0, 4.5.0, 4.6.0, 4.7.0, 4.8.0, versions 3.30.5 and below, and all versions in the 4.0, 4.1, and 4.2 series.
osv:CVE-2019-3570
Complete source record
{
"id": "f70b7a9ae7c4845bbe835d85a552a97cbb9b5a2c53699acc62a3d7397e95cae0",
"url": "https://osv.dev/vulnerability/CVE-2019-3570",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2019-3570",
"summary": "Call to the scrypt_enc() function in HHVM can lead to heap corruption by using specifically crafted parameters (N, r and p). This happens if the parameters are configurable by an attacker for instance by providing the output of scrypt_enc() in a context where Hack/PHP code would attempt to verify it by re-running scrypt_enc() with the same parameters. This could result in information disclosure, memory being overwriten or crashes of the HHVM process. This issue affects versions 4.3.0, 4.4.0, 4.5.0, 4.6.0, 4.7.0, 4.8.0, versions 3.30.5 and below, and all versions in the 4.0, 4.1, and 4.2 series.",
"evidence": "osv:CVE-2019-3570",
"products": [],
"severity": "critical",
"structured": {
"id": "CVE-2019-3570",
"aliases": [
"CVE-2019-3570"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/facebook/hhvm",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"last_affected": "c3ef837b239cb6b83b6f18ce7476b9d4858bf5fb"
},
{
"introduced": "7d4f701b9ed004452d695fce4e1ef8f48babbf39"
},
{
"last_affected": "c15d20b433e998211f00772abfffa89f7e378bdd"
},
{
"introduced": "dcce907d6453876bec0396ef0bef12f146b11c51"
},
{
"last_affected": "8ca4f914698d694c39cbfcd4f607f0e5cd64e705"
},
{
"fixed": "cc331e4349e91706a673e2a09f1f2ea5bbb33815"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:facebook:hiphop_virtual_machine:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"last_affected": "3.30.5"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:facebook:hiphop_virtual_machine:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.0.0"
},
{
"last_affected": "4.0.4"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:facebook:hiphop_virtual_machine:4.1.0:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.1.0"
},
{
"last_affected": "4.1.0"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:facebook:hiphop_virtual_machine:4.2.0:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.2.0"
},
{
"last_affected": "4.2.0"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:facebook:hiphop_virtual_machine:4.3.0:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.3.0"
},
{
"last_affected": "4.3.0"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:facebook:hiphop_virtual_machine:4.4.0:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.4.0"
},
{
"last_affected": "4.4.0"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:facebook:hiphop_virtual_machine:4.5.0:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.5.0"
},
{
"last_affected": "4.5.0"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:facebook:hiphop_virtual_machine:4.6.0:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.6.0"
},
{
"last_affected": "4.6.0"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:facebook:hiphop_virtual_machine:4.7.0:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.7.0"
},
{
"last_affected": "4.7.0"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:facebook:hiphop_virtual_machine:4.8.0:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.8.0"
},
{
"last_affected": "4.8.0"
}
],
"source": "CPE_STRING"
},
{
"range": [
{
"fixed": "cc331e4349e91706a673e2a09f1f2ea5bbb33815"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"4.1.0",
"4.2.0",
"4.3.0",
"4.4.0",
"4.5.0",
"4.6.0",
"4.7.0",
"4.8.0",
"nightly-2019.06.11",
"nightly-2019.06.10",
"nightly-2019.06.09",
"nightly-2019.06.08",
"nightly-2019.06.07",
"nightly-2019.06.06",
"nightly-2019.06.05",
"nightly-2019.06.04",
"HHVM-4.8.0",
"nightly-2019.06.03",
"nightly-2019.06.02",
"nightly-2019.06.01",
"nightly-2019.05.31",
"nightly-2019.05.30",
"nightly-2019.05.29",
"nightly-2019.05.28",
"nightly-2019.05.27",
"nightly-2019.05.26",
"nightly-2019.05.25",
"nightly-2019.05.24",
"nightly-2019.05.23",
"nightly-2019.05.22",
"nightly-2019.05.21",
"nightly-2019.05.20",
"nightly-2019.05.19",
"nightly-2019.05.18",
"nightly-2019.05.17",
"nightly-2019.05.16",
"nightly-2019.05.15",
"nightly-2019.05.14",
"nightly-2019.05.13",
"nightly-2019.05.12",
"nightly-2019.05.11",
"nightly-2019.05.10",
"nightly-2019.05.09",
"nightly-2019.05.08",
"nightly-2019.05.07",
"nightly-2019.05.06",
"nightly-2019.05.05",
"nightly-2019.05.04",
"nightly-2019.05.03",
"nightly-2019.05.02",
"nightly-2019.05.01",
"nightly-2019.04.30",
"nightly-2019.04.29",
"nightly-2019.04.28",
"nightly-2019.04.27",
"nightly-2019.04.26",
"nightly-2019.04.25",
"nightly-2019.04.24",
"nightly-2019.04.22",
"nightly-2019.04.23",
"nightly-2019.04.21",
"nightly-2019.04.20",
"nightly-2019.04.19",
"nightly-2019.04.18",
"nightly-2019.04.17",
"nightly-2019.04.16",
"nightly-2019.04.15",
"nightly-2019.04.14",
"nightly-2019.04.13",
"nightly-2019.04.12",
"nightly-2019.04.11",
"nightly-2019.04.10",
"nightly-2019.04.09",
"nightly-2019.04.08",
"nightly-2019.04.07",
"nightly-2019.04.06",
"nightly-2019.04.05",
"nightly-2019.04.04",
"HHVM-3.30.5",
"HHVM-4.0.4",
"nightly-2019.04.03",
"nightly-2019.04.02",
"nightly-2019.04.01",
"nightly-2019.03.31",
"nightly-2019.03.30",
"nightly-2019.03.29",
"nightly-2019.03.28",
"HHVM-4.0.3",
"HHVM-4.0.2",
"HHVM-4.0.1",
"HHVM-3.30.4",
"HHVM-4.0.0",
"HHVM-3.30.3",
"HHVM-3.30.2",
"HHVM-3.30.1",
"HHVM-3.30.0",
"gcc-4.6",
"HPHP-2.1.0",
"src-hphp",
"pre-hhvm"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2019-3570.json"
}
}
],
"modified": "2026-10-20T10:51:39.362969661Z",
"provider": "osv",
"references": [
"https://hhvm.com/blog/2019/06/10/hhvm-4.9.0.html",
"https://github.com/facebook/hhvm/commit/cc331e4349e91706a673e2a09f1f2ea5bbb33815"
],
"provider_metadata": {}
},
"related_cves": [
{
"value": "CVE-2019-3570",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 382732,
"published_at": "2019-07-18T16:15:12.297+00:00"
}