T09 · Insecure Skill Coding Practices
- Location
scripts/html2png.py:43- Finding
Chromium Sandbox Disabled While Rendering Active HTML Content
- Content
View full analysis
document.fonts.ready.then(() => document.fonts.check('16px "Noto Sans SC"'))""", timeout=15000, ) ``` ### Technical Analysis The renderer accepts a path to an HTML document and loads that document into Chromium with JavaScript enabled. Chromium is explicitly launched with both `--no-sandbox` and `--disable-setuid-sandbox`. The browser sandbox is a defense-in-depth boundary designed to limit the operating-system access available to compromised renderer processes. Disabling it does not, by itself, create arbitrary code execution, but it substantially increases the impact of a Chromium vulnerability or malicious browser resource. This risk is material because: - The input HTML may contain active JavaScript. - Generated cards are required to include a remote JavaScript dependency. - The loaded page is allowed to make network requests. - The input path can point to arbitrary HTML supplied to the command-line tool. - No HTML validation, script restriction, or network-request filtering is applied before rendering. ### Attack Path 1. An attacker causes crafted HTML or attacker-influenced content to be supplied to `html2png.py`. 2. The script resolves the supplied path and opens the document through a `file://` URL. 3. Chromium executes scripts contained in the document and loads permitted remote resources. 4. Malicious JavaScript triggers a suitable Ch ...[truncated 1104 chars]- Remediation
View remediation
