T09 · Insecure Skill Coding Practices
- Location
scripts/html-to-pdf.mjs:133- Finding
Untrusted HTML Executes with Unrestricted Network Access
- Content
View full analysis
{}); await page.waitForLoadState('networkidle', { timeout: 5_000 }).catch(() => {}); ``` ### Technical Analysis The converter accepts arbitrary HTML slide decks and opens them as active browser documents. The browser context does not disable JavaScript, and no request interception policy restricts the hosts, protocols, or network destinations that the document may contact. Consequently, scripts, images, stylesheets, fonts, iframes, and other active or passive resources in an attacker-controlled deck can initiate requests to: - Attacker-controlled Internet services - Services reachable only from the victim's network - Localhost services - Private-network addresses accessible from the conversion host The converter explicitly waits for document loading and network activity, providing embedded scripts with an execution window before PDF generation. Chromium's sandbox and same-origin policy reduce the likelihood of direct host compromise or reading arbitrary cross-origin responses, but they do not categorically prevent outbound requests, blind internal-service interactions, or disclosure of information already available to the malicious document. The project's stated purpose requires rendering HTML, but it does not inherently require arbitrary script execution or unrestricted networking. These capabilities should therefore be disabled by default or exposed only through explicit trusted-content options. ### Attack ...[truncated 1490 chars]- Remediation
View remediation
