Description
The unserialize() function supported a type code, "S", which was meant to be supported only for APC serialization. This type code allowed arbitrary memory addresses to be accessed as if they were static StringData objects. This issue affected HHVM prior to v4.32.3, between versions 4.33.0 and 4.56.0, 4.57.0, 4.58.0, 4.58.1, 4.59.0, 4.60.0, 4.61.0, 4.62.0.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| HHVM | 4.62.0, 4.61.0, 4.60.0, 4.59.0, 4.58.0 – < unspecified, 4.57.0, 4.33.0 – < unspecified, unspecified – < 4.32.3 | 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 | — |