Sceawere
Vulnerability Detail
CVE-2023-24284UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV
Buffer Overflow in is_markable()
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 is_markable() function.
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:55.173Z",
"pubdate": "2026-09-14T05:16:55.173Z",
"executiveSummary": "A buffer overflow vulnerability exists within the is_markable() function of the Portable Puzzle Collection, affecting all versions prior to 20230116.5782e29.\nThe vulnerability occurs due to improper bounds checking, which can be leveraged to corrupt adjacent memory areas.\nThe security impact includes potential arbitrary code execution or application crashes, depending on the memory layout and the nature of the data supplied to the vulnerable function.\nSuccessful exploitation requires the attacker to influence the input processed by the is_markable() function, typically through a crafted puzzle configuration or external input file.\nThis represents a significant security risk for users who process untrusted or malformed puzzle data, as it allows for memory corruption primitives that could bypass standard security controls.\nNo specific authentication is required to trigger the flaw, as the vulnerable function is typically invoked during standard application execution flow when processing game state or puzzle attributes.",
"technicalDetails": "The vulnerability resides in the is_markable() function within the Portable Puzzle Collection codebase. The root cause is a classic heap or stack-based buffer overflow stemming from insufficient validation of input buffers before processing.\nSpecifically, the is_markable() function fails to adequately verify the size of input data against the allocated destination buffer capacity. When the input exceeds the buffer's designated boundaries, the function performs an out-of-bounds write operation.\nThe attack flow begins when an attacker supplies a specially crafted input, such as a malicious puzzle configuration file, which the application parses using the affected function. As the application attempts to evaluate the 'markable' status of specific puzzle elements, it writes user-controlled data beyond the allocated memory limits of the internal buffer.\nThis memory corruption allows for the overwriting of critical structures, such as function pointers, saved return addresses on the stack, or adjacent heap metadata. By carefully crafting the input payload, an attacker can redirect the program's control flow to execute arbitrary code with the privileges of the user running the application.\nBecause the Portable Puzzle Collection involves processing complex data structures representing game states, the vulnerability is exposed whenever the application parses game-related attributes. An attacker does not require prior authentication, as the attack is inherently facilitated through the normal processing of input files or network streams handled by the application.\nThe post-exploitation impact depends on the integrity of the memory space and the execution environment. If the overflow successfully redirects execution, the attacker can achieve persistent or transient code execution, potentially leading to a full system compromise. If the memory corruption simply crashes the application, it facilitates a Denial of Service (DoS) condition. The vulnerability affects all versions of the Portable Puzzle Collection identified prior to the commit 20230116.5782e29."
}