Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| HHVM | 4.8.1, 4.8.0, 4.7.1, 4.7.0, 4.6.1, 4.6.0, 4.5.1, 4.5.0, 4.4.1, 4.4.0, 4.3.1, 4.0.0 – < unspecified, 3.30.6, unspecified – ≤ 3.30.5 | unspecified |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 18.04 LTS | hhvm | No fix yet | — |
| Ubuntu 16.04 LTS | hhvm | No fix yet | — |