Sceawere
Vulnerability Detail
CVE-2023-24291UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV
Portable Puzzle Collection Buffer Overflow
Vulnerability Metadata
- Severity
- Low
- Score / CVSS
- 2.9
- Creation Date
- 2h ago
- Vendor
- Simon Tatham
- Product
- Portable Puzzle Collection
- Attack Type
- CWE-120 Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')
- Vector String
- CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
- Attack Complexity
- HIGH
Narrative and Response
Description
Portable Puzzle Collection before 20230116.5782e29 was discovered to contain a buffer overflow via the record length parameter.
Executive Summary
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Technical Details
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Mitigations
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
References
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Additional Metadata
{
"score": "2.9",
"pubDate": "2026-09-14T05:16:56.700Z",
"pubdate": "2026-09-14T05:16:56.700Z",
"executiveSummary": "Portable Puzzle Collection versions prior to 20230116.5782e29 are susceptible to a buffer overflow vulnerability triggered by an improperly validated record length parameter.\nThis vulnerability is categorized as a memory corruption flaw, which allows for unauthorized manipulation of the application's process memory.\nThe impact includes potential arbitrary code execution, application crashes, or denial-of-service (DoS) conditions depending on the attacker's ability to control the overflowed data.\nThe vulnerability affects the Portable Puzzle Collection software suite. It poses a significant risk to the integrity and availability of the application, particularly when processing untrusted game save files or serialized data streams.\nAttackers can leverage this vulnerability by crafting malicious inputs containing manipulated record length headers, potentially leading to memory corruption. Successful exploitation generally requires the application to process a malformed input file, meaning it often involves social engineering or user interaction to facilitate the delivery of the malicious data structure.\nThis flaw is critical because memory corruption vulnerabilities provide a pathway for attackers to bypass existing security controls and execute malicious instructions within the context of the user running the application.",
"technicalDetails": "The core of the vulnerability resides in the way Portable Puzzle Collection handles data serialization and record parsing. Specifically, the logic responsible for processing game records fails to perform adequate bounds checking on the 'record length' parameter before allocating or copying data into a fixed-size buffer.\nWhen the software encounters a record, it reads the specified length from the input stream. If the provided length is significantly larger than the pre-allocated memory buffer designed to store that record, a heap or stack-based buffer overflow occurs. This overwrites adjacent memory addresses with attacker-supplied data.\nThe exploitation flow begins with an attacker creating a malicious file that mimics a standard puzzle save or data structure. Within this file, the attacker modifies the record length field to a value that exceeds the target buffer's capacity. Upon opening this file, the Portable Puzzle Collection's parsing function reads the record length and attempts to copy the record content into the buffer without validating that the size of the incoming data corresponds to the buffer's allocated size.\nBecause the buffer size is static or insufficiently checked, the excess data overflows the intended destination, writing into surrounding memory segments. By precisely controlling the contents of the overflow, an attacker can overwrite critical control data, such as function pointers or return addresses stored on the stack or in heap metadata.\nIf the attacker successfully overwrites a return address or a function pointer, they can redirect the execution flow of the process to an address of their choosing. This facilitates arbitrary code execution, where the attacker can trigger a payload of their own design, such as shellcode, within the privileges of the victim user session.\nThe vulnerability is present in versions of the Portable Puzzle Collection released before 20230116.5782e29. It does not explicitly require network connectivity to exploit; the primary vector is the ingestion of malicious binary data, though this could be delivered via networked file shares or email attachments. Successful exploitation effectively compromises the host system's process space, potentially bypassing Address Space Layout Randomization (ASLR) if memory layout leaks are also present, or directly disrupting the process to trigger a crash for denial-of-service purposes."
}