T08 · Insecure Dependencies
- Location
scripts/setup.sh:21- Finding
Remote Font Assets Are Downloaded Without Integrity Verification
- Content
View full analysis
/dev/null && python3 -c "import fontTools" 2>/dev/null; then python3 -c " from fontTools.ttLib import TTFont font = TTFont('$FONT_DIR/Virgil.woff2') font.flavor = None font.save('$FONT_DIR/Virgil.ttf') print(' Converted Virgil.woff2 → Virgil.ttf') " else echo " ⚠ fonttools not available. Install with: pip3 install --user fonttools brotli" echo " Then run: python3 -c \"from fontTools.ttLib import TTFont; f=TTFont('$FONT_DIR/Virgil.woff2'); f.flavor=None; f.save('$FONT_DIR/Virgil.ttf')\"" fi # 4. Download Cascadia Code (for code font) if [ ! -f "$FONT_DIR/CascadiaCode.ttf" ]; then echo "→ Downloading Cascadia Code font..." CASCADIA_VERSION="2404.23" curl -sL "https://github.com/microsoft/cascadia-code/releases/download/v${CASCADIA_VERSION}/CascadiaCode-${CASCADIA_VERSION}.zip" \ -o /tmp/cascadia.zip ``` ### Technical Analysis The setup script retrieves Virgil and Cascadia Code font assets over HTTPS but does not verify their cryptographic hashes or signatures. Although both URLs use pinned versions and recognizable public sources, version pinning alone does not authenticate downloaded bytes. The Cascadia URL points to Microsoft's official GitHub repository, not a personal pastebin, and the downloaded archive contains font assets rather than an executable. Therefore, this is not confirmed remote code retrieval and execution. Nevertheless, the assets are processed by complex parsers: Virgil is converted using FontTools, and the fonts are later consumed by the native-backed resvg renderer. A compromised upstream release, CDN, redir ...[truncated 1465 chars]- Remediation
View remediation
