// For flags

CVE-2023-42801

Stack buffer overflow due to `strcpy` into fixed size buffer in `extractVersionQuadFromString`

Severity Score

7.6
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

2
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

Moonlight-common-c contains the core GameStream client code shared between Moonlight clients. Moonlight-common-c is vulnerable to buffer overflow starting in commit f57bd745b4cbed577ea654fad4701bea4d38b44c. A malicious game streaming server could exploit a buffer overflow vulnerability to crash a moonlight client. Achieving RCE is possible but unlikely, due to stack canaries in use by modern compiler toolchains. The published binaries for official clients Qt, Android, iOS/tvOS, and Embedded are built with stack canaries, but some unofficial clients may not use stack canaries. This vulnerability takes place after the pairing process, so it requires the client to be tricked into pairing to a malicious host. It is not possible to perform using a man-in-the-middle due to public key pinning that takes place during the pairing process. The bug was addressed in commit b2497a3918a6d79808d9fd0c04734786e70d5954.

Moonlight-common-c contiene el código principal del cliente GameStream compartido entre los clientes Moonlight. Moonlight-common-c es vulnerable al desbordamiento del búfer a partir de el commit f57bd745b4cbed577ea654fad4701bea4d38b44c. Un servidor de transmisión de juegos malicioso podría aprovechar una vulnerabilidad de desbordamiento del búfer para bloquear un cliente Moonlight. Lograr RCE es posible, pero poco probable, debido a los canarios de pila que utilizan las cadenas de herramientas de compilación modernas. Los binarios publicados para los clientes oficiales Qt, Android, iOS/tvOS y Embedded están creados con canarios de pila, pero es posible que algunos clientes no oficiales no utilicen canarios de pila. Esta vulnerabilidad se produce después del proceso de emparejamiento, por lo que requiere que se engañe al cliente para que se empareje con un host malicioso. No es posible realizar utilizando un intermediario debido a la fijación de clave pública que tiene lugar durante el proceso de emparejamiento. El error se solucionó en el commit b2497a3918a6d79808d9fd0c04734786e70d5954.

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
High
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2023-09-14 CVE Reserved
  • 2023-12-14 CVE Published
  • 2024-08-02 CVE Updated
  • 2024-08-02 First Exploit
  • 2024-11-13 EPSS Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
CWE
  • CWE-120: Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Moonlight-stream
Search vendor "Moonlight-stream"
Moonlight-common-c
Search vendor "Moonlight-stream" for product "Moonlight-common-c"
>= 2016-10-05 < 2023-10-06
Search vendor "Moonlight-stream" for product "Moonlight-common-c" and version " >= 2016-10-05 < 2023-10-06"
-
Affected
Moonlight-stream
Search vendor "Moonlight-stream"
Moonlight
Search vendor "Moonlight-stream" for product "Moonlight"
< 9.0.0
Search vendor "Moonlight-stream" for product "Moonlight" and version " < 9.0.0"
iphone_os
Affected
Moonlight-stream
Search vendor "Moonlight-stream"
Moonlight
Search vendor "Moonlight-stream" for product "Moonlight"
< 9.0.0
Search vendor "Moonlight-stream" for product "Moonlight" and version " < 9.0.0"
tvos
Affected
Moonlight-stream
Search vendor "Moonlight-stream"
Moonlight
Search vendor "Moonlight-stream" for product "Moonlight"
< 12.0
Search vendor "Moonlight-stream" for product "Moonlight" and version " < 12.0"
android
Affected
Moonlight-stream
Search vendor "Moonlight-stream"
Moonlight
Search vendor "Moonlight-stream" for product "Moonlight"
< 0.10.23
Search vendor "Moonlight-stream" for product "Moonlight" and version " < 0.10.23"
chrome
Affected
Moonlight-stream
Search vendor "Moonlight-stream"
Moonlight Embedded
Search vendor "Moonlight-stream" for product "Moonlight Embedded"
< 2.6.1
Search vendor "Moonlight-stream" for product "Moonlight Embedded" and version " < 2.6.1"
-
Affected
Moonlight-stream
Search vendor "Moonlight-stream"
Moonlight Xbox
Search vendor "Moonlight-stream" for product "Moonlight Xbox"
<= 1.14.5
Search vendor "Moonlight-stream" for product "Moonlight Xbox" and version " <= 1.14.5"
-
Affected
Moonlight-stream
Search vendor "Moonlight-stream"
Moonlight Tv
Search vendor "Moonlight-stream" for product "Moonlight Tv"
< 1.6.0
Search vendor "Moonlight-stream" for product "Moonlight Tv" and version " < 1.6.0"
-
Affected
Moonlight-stream
Search vendor "Moonlight-stream"
Moonlight Switch
Search vendor "Moonlight-stream" for product "Moonlight Switch"
< 0.13.4
Search vendor "Moonlight-stream" for product "Moonlight Switch" and version " < 0.13.4"
-
Affected
Moonlight-stream
Search vendor "Moonlight-stream"
Moonlight Vita
Search vendor "Moonlight-stream" for product "Moonlight Vita"
*-
Affected
Moonlight-stream
Search vendor "Moonlight-stream"
Moonlight Qt\/pc
Search vendor "Moonlight-stream" for product "Moonlight Qt\/pc"
<= 5.0.0
Search vendor "Moonlight-stream" for product "Moonlight Qt\/pc" and version " <= 5.0.0"
-
Affected