SB2018053112 - Multiple vulnerabilities in Espruino
Published: May 31, 2018
Breakdown by Severity
- Low
- Medium
- High
- Critical
Description
This security bulletin contains information about 7 secuirty vulnerabilities.
1) Buffer over-read (CVE-ID: CVE-2018-11598)
The vulnerability allows a remote attacker to gain access to sensitive information and perform a denial of service attack.
The vulnerability exists due to boundary error when parsing files in jsparse.c. A remote attacker can create a specially crafted file and gain access to sensitive information or trigger denial of service conditions.
2) Buffer overflow (CVE-ID: CVE-2018-11597)
The vulnerability allows a remote attacker to perform a denial of service (DoS) attack.
The vulnerability exists due to boundary error during syntax parsing because of a missing check for stack exhaustion with many '{' characters in jsparse.c. A remote attacker can cause a denial of service (application crash) with a user specially crafted input file.
3) Buffer overflow (CVE-ID: CVE-2018-11596)
The vulnerability allows a remote attacker to perform a denial of service (DoS) attack.
The vulnerability exists due to boundary error during syntax parsing because a check for '\0' is made for the wrong array element in jsvar.c. A remote attacker can cause a denial of service (application crash) with a user specially crafted input file.
4) Buffer overflow (CVE-ID: CVE-2018-11595)
The vulnerability allows a remote attacker to perform a denial of service (DoS) attack.
The vulnerability exists due to boundary error during syntax parsing, because strncat is misused. A remote attacker can cause a denial of service (application crash) and a potential Escalation of Privileges with a user specially crafted input file.
5) Buffer overflow (CVE-ID: CVE-2018-11594)
The vulnerability allows a remote attacker to perform a denial of service (DoS) attack.
The vulnerability exists due to boundary error during syntax parsing of "VOID" tokens in jsparse.c. A remote attacker can cause a denial of service (application crash) with a user specially crafted input file.
6) Buffer overflow (CVE-ID: CVE-2018-11593)
The vulnerability allows a remote attacker to perform a denial of service (DoS) attack.
The vulnerability exists due to boundary error during syntax parsing because strncpy is misused in jslex.c. A remote attacker can cause a denial of service (application crash) and potential Information Disclosure with a user specially crafted input file.
7) Integer overflow (CVE-ID: CVE-2018-11590)
The vulnerability allows a remote attacker to perform a denial of service attack.
The vulnerability exists due to integer overflow when parsing files in jsutils.c. A remote attacker can supply a specially crafted file to the interpreter, trigger integer overflow and crash the application.
Remediation
Install update from vendor's website.
References
- https://github.com/espruino/Espruino/commit/bf4416ab9129ee3afd56739ea4e3cd0da5484b6b
- https://github.com/espruino/Espruino/files/2025956/test_0.txt
- https://github.com/espruino/Espruino/files/2025963/test_1.txt
- https://github.com/espruino/Espruino/files/2025968/test_2.txt
- https://github.com/espruino/Espruino/issues/1437
- https://github.com/espruino/Espruino/commit/51380baf17241728b6d48cdb84140b931e3e3cc5
- https://github.com/espruino/Espruino/issues/1448
- https://github.com/espruino/Espruino/commit/ce1924193862d58cb43d3d4d9dada710a8361b89
- https://github.com/espruino/Espruino/issues/1435
- https://github.com/espruino/Espruino/commit/0a7619875bf79877907205f6bee08465b89ff10b
- https://github.com/espruino/Espruino/files/2019210/test_0.txt
- https://github.com/espruino/Espruino/files/2019216/test_2.txt
- https://github.com/espruino/Espruino/files/2019220/test_4.txt
- https://github.com/espruino/Espruino/issues/1425
- https://github.com/espruino/Espruino/commit/c36d30529118aa049797db43f111ddad468aad29
- https://github.com/espruino/Espruino/files/2022588/input.txt
- https://github.com/espruino/Espruino/issues/1434
- https://github.com/espruino/Espruino/commit/bed844f109b6c222816740555068de2e101e8018
- https://github.com/espruino/Espruino/files/2019228/eh_0.txt
- https://github.com/espruino/Espruino/issues/1426
- https://github.com/espruino/Espruino/commit/a0d7f432abee692402c00e8b615ff5982dde9780
- https://github.com/espruino/Espruino/files/2019243/so_0.txt
- https://github.com/espruino/Espruino/issues/1427