UEFI变量回收功能溢出 问题:漏洞与防护 Lenovo 安全公告:LEN-2014-009 潜在影响:权限提升或拒绝服务 重要性:中 摘要: EDK1 UEFI 参考实现包含一个缓冲区溢出漏洞。 描述:[摘自 US-CERT 公告] 开源 EDK1 项目提供了 Unified Extensible Firmware Interface(UEFI)的参考实现。商业 UEFI 实现可能包含 EDK1 源代码的多个部分。 据 Rafal Wojtczuk 和 Corey Kallenberg 所说,缓冲区溢出漏洞存在于 Edk1/source/Sample/Universal/Variable/RuntimeDxe/FS/FSVariable.c 源文件中。Corey Kallenberg 对该漏洞的描述如下: “UEFI 可利用各种非易失性变量在操作系统和固件之间来回传送引导顺序和平台语言等信息。 这些非易失性变量存储在一个类似于 SPI 闪存芯片上变量区的文件系统中。该文件系统支持多种操作,例如删除现有变量、创建新变量以及对变量区进行碎片整理以回收未使用的空间。最后这项操作十分重要,可确保在变量区资源受限且分散有许多未使用的‘空闲插槽’时能够创建较大变量。 我们发现这一‘回收’操作存在一个缓冲区溢出漏洞 [in FSVariable.c]。 在回收操作中,有这样一种假设:如果遵循变量链(通过 NextVariable = GetNextVariablePtr(变量),该变量实质上可向其添加变量大小),便不会跳出变量存储区界限。 尤其在 352 行中,CurrPtr 可能会扩展到变量区的合法边界以外。最终在 350 行中,我们可能会因缓冲区溢出而面临内存损坏。” 解决方案: 产品影响: Think 品牌产品未受影响。请参阅下面的 Lenovo 笔记本电脑和 Lenovo 台式机产品,确定您是否受到了影响。 Lenovo 台式机: 系统 状态 最低 BIOS 版本, 包括修复程序 链接 63 台式机 未受影响 A540 一体机(Broadwell) 受到影响 O14KT15AUS http://support.lenovo.com/us/en/products/desktops-and-all-in-ones/lenovo-a-series-all-in-ones/lenovo-a540-all-in-one/downloads/DS102570 A740 一体机 - BDW 受到影响 O14KT15AUS http://support.lenovo.com/us/en/products/desktops-and-all-in-ones/lenovo-a-series-all-in-ones/lenovo-a540-all-in-one/downloads/DS102570 B40-30 一体机 未受影响 B40-30 触控式一体机 未受影响 B50-30 一体机 未受影响 B50-30 触控式一体机 未受影响 B5035 未受影响 B50-35 一体机 未受影响 C20-05 一体机 未受影响 C20-30 一体机 未受影响 C260 一体机 未受影响 C260 触控式一体机 未受影响 C360 一体机 受到影响 IMKT19AUS http://support.lenovo.com/us/en/products/desktops-and-all-in-ones/horizon-series/horizon-2e-table-pc/downloads/DS101336 C365 一体机 未受影响 C40-05 一体机 未受影响 C40-30 一体机 未受影响 C460 一体机 受到影响 IMKT19AUS http://support.lenovo.com/us/en/products/desktops-and-all-in-ones/horizon-series/horizon-2e-table-pc/downloads/DS101336 C470 一体机 未受影响 C50-30 一体机 未受影响 C5030 非触控式一体机 未受影响 C560 一体机 未受影响 E50-00 台式机 未受影响 ErazerX700 台式机 未受影响 H30-00 台式机 未受影响 H30-05 台式机 未受影响 H30-50 台式机 未受影响 H50-00 台式机 未受影响 H50-05 台式机 未受影响 H50-30g 台式机 未受影响 H50-50 台式机 未受影响 H530 台式机 未受影响 H530s 台式机 未受影响 Horizon 2 27 平板电脑 未受影响 Horizon2e 桌面计算机 未受影响 Horizon2s 桌面计算机 未受影响 M4350 台式机 未受影响 S40-40 一体机 未受影响 Lenovo 笔记本电脑: 系统 状态 最低 BIOS 版本, 包括修复程序 链接 B40-30/B50-30/B50-30 触控式笔记本电脑/E40-30/N40-30 受到影响 9CCN31WW http://support.lenovo.com/us/en/downloads/DS101220 B40-45/B50-45/N40-45/N50-45 受到影响 A1CN26WW http://support.lenovo.com/us/en/products/laptops-and-netbooks/lenovo-b-series-laptops/lenovo-b40-45-notebook/downloads/DS101226 B40-70/B50-70/E40-70/E50-70/N40-70/N50-70 受到影响 9DCN32WW http://support.lenovo.com/us/en/products/laptops-and-netbooks/lenovo-b-series-laptops/lenovo-b40-70-notebook/downloads/DS101224 B4400 未受影响 B490 未受影响 B5400 未受影响 E10-30 受到影响 A5CN36WW http://support.lenovo.com/us/en/products/laptops-and-netbooks/lenovo-e-series-laptops/lenovo-e10-30/downloads/DS100550 E4430 未受影响 Flex 10 受到影响 93CN57WW http://support.lenovo.com/us/en/products/laptops-and-netbooks/flex-series/flex-10-notebook-lenovo/downloads/DS100999 Flex 2 Pro-15 HSW 未受影响 Flex 2 Mybo AMD 未受影响 Flex 2 Mybo HSW 未受影响 Flex 3 11 未受影响 G40-30/G50-30 受到影响 A7CN45WW http://support.lenovo.com/u
UEFI变量回收功能溢出-联想乐享知识库
⚡ 核心结论
本文来源联想官方,解答关于 UEFI变量回收功能溢出 的常见问题,包括:Lenovo A540一体机(Broadwell)启动异常或蓝屏,怎么办、Lenovo C360一体机无法保存启动顺序设置,为什么、Lenovo B40-30/B50-30/E40-30/N40-30笔记本电脑升级BIOS后仍出现随机重启,怎么办等。
内容来源:联想官方
常见问题解答
Lenovo A540一体机(Broadwell)启动异常或蓝屏,怎么办
该现象可能由UEFI变量回收功能缓冲区溢出漏洞(LEN-2014-009)引发,导致权限提升或拒绝服务。根本原因是EDK1开源固件中FSVariable.c文件第350–352行在变量区碎片整理时未校验CurrPtr边界,造成内存越界写入。请立即升级BIOS至最低修复版本O14KT15AUS:访问https://support.lenovo.com/us/en/products/desktops-and-all-in-ones/lenovo-a-series-all-in-ones/lenovo-a540-all-in-one/downloads/DS102570,下载并运行该BIOS更新程序;更新前确保电量≥50%(笔记本)或电源稳定(台式机/一体机),全程不可断电或重启;更新完成后需重启生效。此漏洞不影响Think品牌产品。
⚠️ 注意事项:
1. 刷写 BIOS 前建议备份重要数据,以防更新失败影响系统启动。
2. 请严格核对机器型号与 BIOS 版本匹配,误刷可能导致主板损坏。
3. 更新过程中切勿强制关机,否则可能造成硬件不可恢复。
⚠️ 注意事项:
1. 刷写 BIOS 前建议备份重要数据,以防更新失败影响系统启动。
2. 请严格核对机器型号与 BIOS 版本匹配,误刷可能导致主板损坏。
3. 更新过程中切勿强制关机,否则可能造成硬件不可恢复。
Lenovo C360一体机无法保存启动顺序设置,为什么
这是因为该机型受UEFI变量回收功能缓冲区溢出漏洞(LEN-2014-009)影响。漏洞位于EDK1参考实现的FSVariable.c源码中,变量区碎片整理操作未验证指针边界,导致CurrPtr越界、内存损坏,进而使非易失性变量(如启动顺序、平台语言等)读写异常。该问题已通过BIOS更新修复,需升级至IMKT19AUS或更高版本。请前往https://support.lenovo.com/us/en/products/desktops-and-all-in-ones/horizon-series/horizon-2e-table-pc/downloads/DS101336下载对应BIOS,按提示完成刷新,并在重启后进入UEFI Setup(F1/F2)重新配置启动项。
Lenovo B40-30/B50-30/E40-30/N40-30笔记本电脑升级BIOS后仍出现随机重启,怎么办
该问题可能源于未正确应用针对UEFI变量回收溢出漏洞(LEN-2014-009)的完整修复。尽管这些型号均受影响,但必须安装指定BIOS版本9CCN31WW才能彻底修复FSVariable.c中变量区碎片整理导致的缓冲区溢出。请确认当前BIOS版本:开机按F1进入UEFI Setup → Main页查看Version;若低于9CCN31WW,请访问https://support.lenovo.com/us/en/downloads/DS101220下载该BIOS,以管理员身份运行EXE文件,全程保持AC供电、关闭杀毒软件,等待自动重启完成;切勿在更新过程中关机或强制重启,否则可能导致固件损坏。更新后建议在Security菜单中检查Secure Boot状态是否正常。