2023年7月中旬,发现了两个关键安全漏洞在Benno MailArchiv中。
一个问题涉及关键的XSS漏洞(跨站脚本),另一个是关键的XSRF漏洞(跨站请求伪造)。

为这两个安全漏洞分配了CVE编号:

  • CVE-2023-38347(针对XSS漏洞)
  • CVE-2023-38348(针对XSRF漏洞)

解决方案:

请及时更新您的Benno MailArchiv安装最新版本!通过安装软件包benno-web(版本2.10.2)和benno-rest(版本2.10.1),两个相关的组件将被更新。这两个关键的安全漏洞将在其中得到解决。

关于更新的重要提示:

更新将在安装后立即强制使用HTTPS(即SSL加密的http)用于WebApp!
更新后,登录到Benno WebApp将仅支持HTTPS

仍然可以选择使用HTTP(未加密)进行登录。但是,这需要被明确启用。在Benno Wiki的这篇文章中,解释了如何启用纯文本HTML登录:https://wiki.benno-mailarchiv.de/doku.php/http_plaintext_access

注意 - 重要:
仅通过使用HTTPS才能有效关闭XSS漏洞!
如果按照前面的描述手动将安装切换为纯文本HTML登录,XSS安全漏洞仍将继续存在

有关两个关键安全漏洞的更多信息:

关于CVE-2023-38347 (XSS漏洞):
Benno WebApp在Web界面中未经过滤地显示电子邮件。在显示HTML代码之前,不会对恶意的JavaScript代码等进行检查或过滤。
如果存档的邮件包含有针对性的恶意JavaScript代码,并且该邮件在Benno WebApp中被用户显示,JavaScript代码就可以访问会话cookie,读取它并将信息传递给攻击者。这样,攻击者就可以窃取受影响用户的Benno MailArchiv访问数据,并获得对邮件存档的访问权限(如果可以通过互联网访问)。同样,通过这种方式也可以更改已登录的Benno WebApp用户的密码。(这种攻击向量的时间限制在会话cookie的生命周期内。终止受害者的Web浏览器会使会话cookie无效)。
在benno-web软件包中,通过扩展httponly模式和使用安全cookie更改了cookie处理。benno-web中的表单添加了CSRF令牌。通过这个令牌,Web服务器现在可以确定表单是否由合法用户通过用户的浏览器提交。更新版本的benno-web和benno-rest关闭了这个XSS安全漏洞。在显示HTML格式的邮件之前,JavaScript代码现在在benno-rest中被删除。

关于CVE-2023-38348 (XSRF漏洞):
通过XSRF安全漏洞,管理员可能会被诱导点击一个链接到一个准备好的页面,然后被诱导更改密码或进行其他设置,这些设置可能会落入攻击者手中。攻击者可以作为“中间人”获得访问数据和其他通过WebApp设置的特征。
benno-web软件包中引入了CSRF令牌的使用。用户登录时,benno-web会创建一个CSRF令牌。该令牌在会话中管理,并在会话结束后失效。benno-web将这个CSRF令牌添加到每个Web表单(作为隐藏标签)中,当提交时会对数据基础造成更改(例如更改密码、调整用户等)。当管理员提交更改时,该令牌将被发送并检查是否与会话中发布的令牌相同。“中间人”攻击将在未来被有效阻止。
更新版本的benno-web和benno-rest将关闭这个安全漏洞。