Lobsters | 📄 原文链接 | 2026-10-31 收录

RSS 阅读器 yarr 的 iframe 白名单被 URL 解析歧义绕过

来源:0x67673068.me — 2026-10-20

📋 概述

yarr 是用 Go 写的开源 RSS 阅读器。作者读源码时发现,每条 feed 里的文章都被当作 item 处理,内容先过 Sanitize 再以 JSON 返回、动态渲染进 DOM——只要净化逻辑有缝,就是 XSS。缝在 iframe 的 src 校验上:isValidIframeSource 用 net/url 取出 host 与白名单比对,而浏览器把 javascript://www.youtube.com/%0a<任意JS> 当作 JS URI 执行,net/url 却认为 authority 就是 www.youtube.com。加上默认的宽松 sandbox,一个 RSS 源就能对任何打开该条目的用户执行脚本。

🔑 核心要点

💡 金句

Putting it all together, an RSS feed can XSS any yarr user who loads their post
← 返回 Lobsters 首页