Integer overflow in Rizin

CVE-2023-40022

Rizin is a UNIX-like reverse engineering framework and command-line toolset. Versions 0.6.0 and prior are vulnerable to integer overflow in `consume_count` of `src/gnu_v2/cplus-dem.c`. The overflow check is valid logic but, is missing the modulus if the block once compiled. The compiler sees this block as unreachable code since the prior statement is multiplication by 10 and fails to consider overflow assuming the count will always be a multiple of 10. Rizin version 0.6.1 contains a fix for the issue. A temporary workaround would be disabling C++ demangling using the configuration option `bin.demangle=false`.

Vulnerability class: Integer Overflow

Published · last modified .

CVSS v3 metric

CVSS v3 base score 7.8 (High). Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H.

EPSS exploit prediction

EPSS: 0.003 (19.5th percentile), scored .

Very low probability of exploitation in the next 30 days; routine patching cadence is appropriate. 20th percentile — 19.5% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.

EPSS trend (30 days)EPSS over the last 30 days for CVE-2023-40022: held from 0.003 to 0.003.

EPSS over last 30 days · oldest: 0.003 · newest: 0.003 · change: 0.000

Affected products

Weakness classification (CWE)

References

Frequently asked questions

What is CVE-2023-40022?
CVE-2023-40022 is a high-severity vulnerability in Rizin, classified under Integer Overflow or Wraparound. CVSS score: 7.8/10. Published 2023-08-24.
How severe is CVE-2023-40022?
High severity. CVSS v3 base score is 7.8 out of 10.