On this week’s digest, we are going to focus on:
- Linode Terraform (TF) Supplier Deterministic Password Creation
- Apache Commons Textual content Distant Code Execution (RCE)
- Vm2 sandbox escape to RCE
Linode Terraform Supplier Creates a Non-seeded deterministic Password
A safety vulnerability was found within the Linode Terraform Supplier, a plugin designed for automating provisioning Linode situations utilizing Terraform. Terraform is an IaC instrument that focuses on creating, modifying, and destroying servers as a substitute of managing the software program on these servers.
The vulnerability impacts Linodes created with the Terraform plugin model v1.29.3. Within the Terraform supplier, when a Linode is created with out offering a root password, the TF supplier makes use of a randomly generated password. The affected plugin model appears to generate deterministic passwords because of a change in our password technology performance. The susceptible element concerned the utilization of the maths/rand Go bundle as a substitute of the crypto/rand for random password manufacturing. Moreover, the maths/rand bundle was not being seeded.
To guard your future deployments, please improve the Linode Terraform Supplier instrument to the newest model, at the moment v1.29.4. If you’re not in a position to improve instantly, you can even change the basis password on the situations deployed via the affected plugin.
In case you want additional help, or when you’ve got any questions, please attain out to [email protected].
Apache Commons Textual content Distant Code Execution (RCE)
Apache Commons Textual content performs variable interpolation, permitting properties to be dynamically evaluated and expanded. The usual format for interpolation is “${prefix:identify}”, the place “prefix” is used to find an occasion of org.apache.commons.textual content.lookup.StringLookup that performs the interpolation.
CVE-2022-42889 is an distant code execution that exists in Apache Commons Textual content model 1.5 via 1.9 the place the set of default Lookup situations (from the StringSubstitutor class) included interpolators that might lead to arbitrary code execution or contact with distant servers. The susceptible lookups are:
- “script” – Executes expressions utilizing the JVM script execution engine (javax.script)
- “dns” – Resolves DNS information
- “url” – Load values from URLs
Moreover, any distant server purposes utilizing interpolation defaults within the affected variations may be susceptible to distant code execution or unintentional contact with distant servers if untrusted configuration values are used.
The best way to find out when you’ve got this library put in is to run `discover / -type f -name ‘commons-text*.jar’`, which is able to give us any .jar file with the prefix of commons-text.
The repair is offered beginning with Apache Commons Textual content 1.10.0. The repair disables the dns, url, and script lookup interpolators by default. Different workarounds will also be utilized, which embody sanitizing enter in locations the place you settle for and course of untrusted information.
Vm2 sandbox escape to RCE
vm2 is a widely-used npm bundle that acts as a sandbox the place you’ll be able to run untrusted code with allowlisted Node’s built-in modules. This bundle may be very well-liked with over 16 million downloads a month, making it a worthy vulnerability to leverage in opposition to an software with the vm2 bundle put in.
CVE-2022-36067 is a distant code execution that exists within the vm2 sandbox library the place a person may escape the sandbox of vm2 and get entry to the host operating the sandbox. The vulnerability at the moment impacts variations 3.9.10 and under.
This vulnerability includes utilizing the prepareStackTrace technique, which is a operate that permits builders to customise the decision stack of an error that occurred within the software. The prepareStackTrace technique is an “error” constructor that creates an “Error” object. When an error happens and “stack” property of the thrown error object is accessed, Node.js will name this technique whereas offering it with a string illustration of the error alongside an array of “CallSite” objects as arguments.
The researchers began off by overriding the worldwide Error object with their very own object. This new object permits the attacker to make use of the prepareStackTrace operate so as to leverage a non-sandboxed operate known as “getThis”, which is a operate used for returning the “this” object in a stack body. This stack body object is a non-sandboxed object that might permit an to execute capabilities that may escape the sandbox and execute code on the host that the code is operating on.
The repair is offered beginning with vm2 3.9.11.