<local:MyCard Title="POC" Margin="0,0,0,15" CanSwap="True" IsSwaped="True"
xmlxmlxmlns""nsns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
xmlxmlxmlns""nsns:winForms="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration">
<StackPanel Margin="25,40,23,15">
<winForms:WindowsFormsHost>
<wf:WebBrowser Url="https://www.google.com"/>
</winForms:WindowsFormsHost>
</StackPanel>
</local:MyCard>
我看不懂,能一句话解释发生了什么吗?
出了个 Bug,但我们在有人利用这个 Bug 之前就修好了。更新一下 PCL,然后就没事了……
我需要做什么?
将程序更新至最新版即可,无需担心。
我之前有可能已经受到了影响吗?
没有收到利用此漏洞的报告,所以应当没有影响。
详情
PCL 允许用户使用第三方提供的主页,若能在主页中使用 WebBrowser 等控件,WPF 则会使用 Internet Explorer 加载指定的网页。
GHSA-wfpw-hfcp-9m73 中已经针对此漏洞进行了修复,但通过精心构造的字符串,可以绕开该修复中对 xmlns 字符串的过滤,以此导入自定义命名空间并加载控件。
如果用户使用了恶意的主页,攻击者可以在不知情的情况下使用 IE 后台访问其指定的网页。
修复措施
已在 2.10.4 中改进了对 xmlns 字符串的过滤方式。
PoC
Custom.xaml