CVE-2023-23557

An error in Hermes' algorithm for copying objects properties prior to commit a00d237346894c6067a594983be6634f4168c9ad could be used by a malicious attacker to…

Critical · published May 18, 2023

CVSS v3.1
9.8
EPSS
1%
Percentile
59.0
In the wild
Unconfirmed
What it is

🚨 A simple property copy error in Hermes can open the door for remote code execution through type confusion! 🔥 Think of Hermes as a mailroom that sorts packages based on their labels. If a package with the wrong label slips through, the mailroom could deliver it to the wrong recipient, causing chaos. In the same way, this flaw allows arbitrary code execution if untrusted JavaScript is processed without careful checks. An attacker could exploit this vulnerability to run malicious code on affected systems, potentially taking full control of the application. This could lead to data breaches, unauthorized access, or even complete system compromise. The results could be absolutely devastating for users and organizations alike!

Put simply

Think of Hermes as a mailroom that sorts packages based on their labels. If a package with the wrong label slips through, the mailroom could deliver it to the wrong recipient, causing chaos. In the same way, this flaw allows arbitrary code execution if untrusted JavaScript is processed without careful checks. This vulnerability in Hermes arises from an error in its object property copying algorithm, which allows an attacker to manipulate types through crafted JavaScript, leading to arbitrary code execution. It's specifically exploitable when Hermes processes untrusted JavaScript, which is less common in most React Native applications.

What to do

An attacker could exploit this vulnerability to run malicious code on affected systems, potentially taking full control of the application. This could lead to data breaches, unauthorized access, or even complete system compromise. The results could be absolutely devastating for users and organizations alike! To mitigate this risk, ensure that you are using a trusted version of Hermes and avoid executing untrusted JavaScript. If Hermes is an essential part of your application, monitor for updates and apply patches as they are released. Consider implementing additional security measures to filter out untrusted scripts. You've got this! With the right precautions, you can keep your applications secure! 🛡️

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00891 · 59.0th percentile
Published
2023-05-18T21:19Z
EPSS history
Timeline
  • 18 MAY 21:19Z
    An error in Hermes' algorithm for copying objects properties prior to commit a00d237346894c6067a594983be6634f4168c9ad could be used by a malicious attacker to…
    cvelistv5