CISA 紧急警告:Android 整数溢出漏洞 CVE-2025-48595 正被主动利用

2026-06-05 30 预计阅读时间:1 分钟
来源:oschina.net AI 摘要 原文链接

免责声明:本文为 AI 摘要整理,建议结合原文阅读。摘要可能省略上下文、版本差异或边界条件,不作为官方说明。

预计阅读时间:9 分钟

美国网络安全和基础设施安全局(CISA)近日将其 Known Exploited Vulnerabilities 目录新增了一条记录——CVE-2025-48595。这不是一个"可能被利用"的纸上漏洞,而是已被实际攻击者使用的高危缺陷。该漏洞存在于 Android 框架层,本质是整数溢出,攻击者可借此提升本地权限。CISA 的 KEV 目录只收录"正在被利用"的漏洞,一旦上榜,联邦机构必须在规定期限内修补,私营组织同样应该高度重视。

整数溢出如何变成提权通道

整数溢出听起来像是"算错了数",但在操作系统框架层面,算错一个数的后果远不止于此。Android 框架中大量使用 intlong 等固定宽度类型来表示缓冲区大小、数组索引、权限等级等关键参数。当一个本应表示"缓冲区大小"的值因溢出从正数翻转为负数或回绕到一个小值时:

  • 内存分配缩水:本应分配 2GB 的缓冲区,溢出后只分配了几个字节,后续写入直接越界。
  • 权限检查绕过:如果权限等级用整数比较判断,溢出后的值可能落在"已授权"区间。
  • 数组越界访问:索引值溢出后指向意料之外的内存区域,读取或篡改其他进程的数据。

CVE-2025-48595 正是这类路径——本地攻击者通过精心构造的输入触发框架层整数溢出,绕过原本的权限边界,从普通应用权限跃升到更高特权级别。

CISA KEV 目录意味着什么

CISA 的 KEV 目录(Known Exploited Vulnerabilities Catalog)不是普通漏洞库。入选条件严格:必须有可靠的证据表明该漏洞正在被现实攻击者利用。上榜后:

  • 联邦机构必须在 CISA 规定的截止日期前完成修补。
  • 该目录已成为全球安全团队的优先修补参考——许多企业安全策略直接引用 KEV 作为"必须立即处理"的清单。

你可以实时查询这个目录。下面是一个可直接运行的 Python 脚本,拉取当前 KEV 目录并筛选出 Android/Linux 相关条目:

#!/usr/bin/env python3
"""拉取 CISA KEV 目录,筛选 Android/Linux 相关漏洞,输出优先修补清单。"""

import requests
import json
from datetime import datetime

KEV_URL = "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json"

def fetch_kev():
    resp = requests.get(KEV_URL, timeout=30)
    resp.raise_for_status()
    return resp.json()

def filter_android_linux(vulnerabilities):
    keywords = ["android", "linux", "kernel", "mobile"]
    results = []
    for v in vulnerabilities:
        product = v.get("product", "").lower()
        description = v.get("shortDescription", "").lower()
        if any(k in product or k in description for k in keywords):
            results.append(v)
    return results

def main():
    data = fetch_kev()
    vulns = data.get("vulnerabilities", [])
    filtered = filter_android_linux(vulns)

    print(f"KEV 目录总条目: {len(vulns)}")
    print(f"Android/Linux 相关条目: {len(filtered)}")
    print("-" * 80)

    for v in filtered:
        cve = v.get("cveID", "N/A")
        product = v.get("product", "N/A")
        description = v.get("shortDescription", "N/A")
        due_date = v.get("dueDate", "N/A")
        print(f"CVE:       {cve}")
        print(f"产品:      {product}")
        print(f"描述:      {description}")
        print(f"修补截止:  {due_date}")
        print("-" * 80)

if __name__ == "__main__":
    main()

运行前确保安装了 requests

pip install requests
python3 check_kev_android_linux.py

输出会列出所有与 Android/Linux 相关且正在被利用的漏洞,包括修补截止日期,方便你排定优先级。

检查你的设备是否受影响

针对 CVE-2025-48595,实际排查分两个场景:

Android 设备

查看安全补丁级别,确认是否已包含该漏洞的修复:

# 在 Android 设备上(通过 adb shell 或终端模拟器)
getprop ro.build.version.security_patch

输出类似 2025-06-05。如果日期早于 Google 安全公告中修复该 CVE 的月份,设备仍处于风险状态。Google 每月发布 Android 安全公告,对应补丁逐步推送到各厂商——厂商延迟是最大的现实风险

对于企业移动设备管理(MDM)场景,可以批量检查:

# 通过 adb 批量检查多台设备的安全补丁级别
for device in $(adb devices | grep -v "List" | awk '{print $1}'); do
    echo -n "设备 $device 安全补丁: "
    adb -s $device shell getprop ro.build.version.security_patch
done

Linux 服务器

CISA 同时警告 Linux 内核漏洞也在被利用(具体 CVE 在 KEV 目录中可查)。检查内核版本:

# 查看当前内核版本
uname -r

# 查看可用的内核更新(Debian/Ubuntu)
apt list --upgradable 2>/dev/null | grep linux-image

# 查看可用的内核更新(RHEL/CentOS)
yum check-update kernel

如果内核版本落在已知受影响区间且尚未更新,应立即安排修补窗口。

修补与缓解的实际建议

  1. 优先级拉满:KEV 目录中的漏洞 = 正在被打。不要排进"下季度修补计划",应在一周内处理。
  2. Android 的难点是厂商推送:Google 发布补丁后,各手机厂商需要适配并推送 OTA。如果你的设备厂商迟迟不推送,考虑:
  3. 使用 Google Pixel 系列设备(最快收到安全补丁)。
  4. 在 MDM 策略中强制要求最低安全补丁级别,不达标设备限制访问企业资源。
  5. Linux 服务器可以更快行动:内核更新通常由发行版直接推送,运维团队应建立快速内核升级的标准流程。
  6. 纵深防御:即使尚未修补,也可以通过以下方式降低风险:
  7. 限制本地应用安装来源(Android 侧禁用未知来源安装)。
  8. 在 Linux 服务器上启用 SELinux/AppArmor 强制访问控制,即使整数溢出触发,提权路径也会被 MAC 策略阻断。
  9. 网络层限制受影响设备的出站连接,缩小攻击者拿到提权后的横向移动空间。

检查 SELinux 状态并确保运行在强制模式:

# 查看 SELinux 当前模式
getenforce

# 如果返回 "Permissive" 或 "Disabled",切换到强制模式
setenforce 1

# 持久化配置(修改 /etc/selinux/config)
sed -i 's/^SELINUX=.*/SELINUX=enforcing/' /etc/selinux/config

行动清单

项目 动作 时间要求
查看 KEV 目录 运行上方脚本或访问 CISA 网站,确认所有 Android/Linux 条目 立即
Android 设备补丁级别 getprop ro.build.version.security_patch,比对公告月份 立即
Linux 内核版本 uname -r,对照受影响版本区间 立即
内核/框架升级 安装发行版推送的安全更新 一周内
MAC 策略检查 确认 SELinux/AppArmor 运行在强制模式 一周内
MDM 策略更新 加入最低安全补丁级别要求 两周内

整数溢出这类漏洞,表面看是"算术错误",实际是权限边界被悄然推倒。CISA 把它放进 KEV 目录,说明有人已经推倒了这扇门。你需要的不是"理解原理",而是确认自己的门还关着


相关推荐