freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Firefox Animation CVE-2024-9680 漏洞分析
2024-12-18 21:10:25
所属地 陕西省

Firefox Animation CVE-2024-9680 漏洞分析

在本文中,我们将深入分析在 Firefox 131.0.2 中修复的漏洞CVE-2024-9680。这个漏洞被解读为动画时间线中的“use-after-free”问题,且据报道已经在实际攻击中被利用。

简介

CVE-2024-9680动画时间线中的释放后使用

攻击者能够通过利用动画时间线中的释放后漏洞,在内容进程中执行代码。并且已经收到有关此漏洞被实际利用的报道。

接下来,查找修复补丁和任何可用的概念验证(PoC)。

漏洞分析

0ee07613d050记录解决了该漏洞,但最有趣的变化出现在AnimationTimeline.cpp中。

修复前代码

bool AnimationTimeline::Tick(TickState& aState) {//...nsTArray<Animation*> animationsToRemove;for (Animation* animation = mAnimationOrder.getFirst(); animation;animation =static_cast<LinkedListElement<Animation>*>(animation)->getNext()) {//...animation->Tick(aState);if (!animation->NeedsTicks()) {animationsToRemove.AppendElement(animation);}}for (Animation* animation : animationsToRemove) {RemoveAnimation(animation);}return needsTicks;}

修复后代码

bool AnimationTimeline::Tick(TickState& aState) {//...AutoTArray<RefPtr<Animation>, 32> animationsToTick;for (Animation* animation : mAnimationOrder) {animationsToTick.AppendElement(animation);}for (Animation* animation : animationsToTick) {// ...animation->Tick(aState);if (!animation->NeedsTicks()) {RemoveAnimation(animation);}}return needsTicks;}

解释
从修复后的代码可以看到,Animation*RefPtr<Animation>替代,这个修改修复了两个use-after-free漏洞!接下来,我们需要在代码中的追踪方式了解这些对象。

引用跟踪

每个动画通过mTimeline持有其时间线的引用计数器,而每个时间线通过mAnimations持有其动画的引用计数器:

class Animation : public DOMEventTargetHelper,public LinkedListElement<Animation> {RefPtr<AnimationTimeline> mTimeline;};class AnimationTimeline : public DOMEventTargetHelper,public LinkedListElement<Animation> {using AnimationSet = nsTHashSet<nsRefPtrHashKey<dom::Animation>>;AnimationSet mAnimations;LinkedList<dom::Animation> mAnimationOrder;};

另外,mAnimationOrder维护着所有动画的链表,每个动画都通过原始指针(next/prev

# 漏洞 # 漏洞分析 # firefox
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录