CVE-2023-53919PodcastGenerator 3.2.9版本中存在一处存储型跨站脚本攻击(Stored XSS)漏洞。该漏洞位于主题自定义界面的Freebox内容字段中,具体文件为theme_freebox.php。攻击者可以通过该字段注入恶意JavaScript代码,这些恶意代码会被永久存储在服务器端。当其他用户访问应用程序的首页时,存储的恶意脚本会自动执行,从而窃取用户会话Cookie、劫持用户账户、执行未经授权的操作或进行钓鱼攻击。由于该漏洞影响的是所有访问首页的用户,因此具有广泛的传播性和较高的危害性。攻击者无需高级权限即可利用此漏洞,但需要具备应用程序的基本访问权限。漏洞的CVSS评分为5.4,属于中等严重程度,主要因为其需要用户交互才能触发攻击。
该漏洞的根本原因在于theme_freebox.php文件对用户输入的Freebox内容字段缺乏充分的输入验证和输出编码。在PodcastGenerator的主题定制功能中,管理员可以自定义Freebox的内容以增强播客网站的外观。然而,系统未对用户提交的HTML/JavaScript内容进行安全过滤,直接将未经处理的输入存储到数据库。当其他用户访问首页时,这些恶意内容会从数据库中取出并直接渲染到页面HTML中,导致嵌入的JavaScript代码被执行。攻击者可以利用此漏洞注入诸如<script>alert(document.cookie)</script>等恶意payload。由于是存储型XSS,攻击只需一次注入即可影响所有后续访问者。漏洞的利用需要低权限用户身份(PR:L),攻击向量为网络(AV:N),但需要用户交互(UI:R)才能触发。