Multiple vulnerabilities in Lua



Published: 2020-10-18 | Updated: 2020-11-19
Risk Medium
Patch available YES
Number of vulnerabilities 4
CVE-ID CVE-2020-15889
CVE-2020-15888
CVE-2020-15945
CVE-2020-24342
CWE-ID CWE-125
CWE-122
CWE-119
Exploitation vector Network
Public exploit N/A
Vulnerable software
Subscribe
Lua
Universal components / Libraries / Scripting languages

Vendor Lua

Security Bulletin

This security bulletin contains information about 4 vulnerabilities.

Updated: 19.11.2020

Added vulnerabilities #3-4.

1) Out-of-bounds read

EUVDB-ID: #VU47701

Risk: Medium

CVSSv3.1: 4.6 [CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H/E:U/RL:O/RC:C]

CVE-ID: CVE-2020-15889

CWE-ID: CWE-125 - Out-of-bounds read

Exploit availability: No

Description

The vulnerability allows a remote attacker to perform a denial of service (DoS) attack.

The vulnerability exists due to getobjname heap-based buffer over-read within the youngcollection() function in lgc.c that uses markold for an insufficient number of list members. A remote attacker can perform a denial of service attack.

Mitigation

Install update from vendor's website.

Vulnerable software versions

Lua: 5.4.0

External links

http://lua-users.org/lists/lua-l/2020-07/msg00078.html
http://github.com/lua/lua/commit/127e7a6c8942b362aa3c6627f44d660a4fb75312


Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability.

2) Heap-based buffer overflow

EUVDB-ID: #VU47700

Risk: Medium

CVSSv3.1: 6.5 [CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C]

CVE-ID: CVE-2020-15888

CWE-ID: CWE-122 - Heap-based Buffer Overflow

Exploit availability: No

Description

The vulnerability allows a remote attacker to execute arbitrary code on the target system.

The vulnerability exists due to a boundary error during interaction between stack resizes and garbage collection in ldo.c file. A remote attacker can pass specially crafted data to the application, trigger heap-based buffer overflow and execute arbitrary code on the target system.

Successful exploitation of this vulnerability may result in complete compromise of vulnerable system.

Mitigation

Install updates from vendor's website.

Vulnerable software versions

Lua: 5.2.0 - 5.4.0

External links

http://lua-users.org/lists/lua-l/2020-07/msg00053.html
http://lua-users.org/lists/lua-l/2020-07/msg00054.html
http://lua-users.org/lists/lua-l/2020-07/msg00071.html
http://lua-users.org/lists/lua-l/2020-07/msg00079.html
http://github.com/lua/lua/commit/6298903e35217ab69c279056f925fb72900ce0b7
http://github.com/lua/lua/commit/eb41999461b6f428186c55abd95f4ce1a76217d5


Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability.

3) Memory corruption

EUVDB-ID: #VU48558

Risk: Medium

CVSSv3.1: 6.5 [CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H/E:U/RL:O/RC:C]

CVE-ID: CVE-2020-15945

CWE-ID: CWE-119 - Memory corruption

Exploit availability: No

Description

The vulnerability allows a remote attacker to perform a denial of service (DoS) attack.

The vulnerability exists due to a segmentation fault in changedline in ldebug.c (e.g., when called by luaG_traceexec) because it incorrectly expects that an oldpc value is always updated upon a return of the flow of control to a function. A remote attacker can pass specially crafted data to the application and crash it.

Mitigation

Install updates from vendor's website.

Vulnerable software versions

Lua: 5.2.0 - 5.4.0

External links

http://lua-users.org/lists/lua-l/2020-07/msg00123.html
http://github.com/lua/lua/commit/a2195644d89812e5b157ce7bac35543e06db05e3


Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability.

4) Buffer overflow

EUVDB-ID: #VU48559

Risk: High

CVSSv3.1: 7.7 [CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C]

CVE-ID: CVE-2020-24342

CWE-ID: CWE-119 - Memory corruption

Exploit availability: No

Description

The vulnerability allows a remote attacker to execute arbitrary code on the target system.

The vulnerability exists due to a stack redzone cross in luaO_pushvfstring because a protection mechanism wrongly calls luaD_callnoyield twice in a row. A remote attacker can pass specially crafted data to the application, trigger memory corruption and execute arbitrary code on the target system.

Successful exploitation of this vulnerability may result in complete compromise of vulnerable system.

Mitigation

Install updates from vendor's website.

Vulnerable software versions

Lua: 5.4.0

External links

http://lua-users.org/lists/lua-l/2020-07/msg00052.html
http://github.com/lua/lua/commit/34affe7a63fc5d842580a9f23616d057e17dfe27


Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability.



###SIDEBAR###