In versions 3.9.17 and lower of vm2 it was possible to get a read-write reference to the node inspect
method and edit options for console.log
.
A threat actor can edit options for console.log
.
This vulnerability was patched in the release of version 3.9.18
of vm2
.
After creating a vm make the inspect
method readonly with vm.readonly(inspect)
.
PoC - https://gist.github.com/arkark/c1c57eaf3e0a649af1a70c2b93b17550
If you have any questions or comments about this advisory:
Thanks to @arkark (Takeshi Kaneko) of GMO Cybersecurity by Ierae, Inc. for disclosing this vulnerability.
gist.github.com/arkark/c1c57eaf3e0a649af1a70c2b93b17550
github.com/patriksimek/vm2
github.com/patriksimek/vm2/commit/5206ba25afd86ef547a2c9d48d46ca7a9e6ec238
github.com/patriksimek/vm2/releases/tag/3.9.18
github.com/patriksimek/vm2/security/advisories/GHSA-p5gc-c584-jj6v
nvd.nist.gov/vuln/detail/CVE-2023-32313