CVE-2026-1484CVE-2026-1484是GNOME GLib库中Base64编码例程的一个安全漏洞。该漏洞源于在处理超大输入数据时,整数类型使用不当导致长度计算错误。当GLib的Base64编码函数处理极大尺寸的输入数据时,由于整数溢出或类型转换问题,库函数会错误地计算缓冲区边界。这可能导致应用程序在分配的缓冲区之外写入数据,造成内存损坏。攻击者可以通过诱骗用户处理恶意的超大Base64编码数据来触发此漏洞,导致目标应用程序崩溃或产生不可预测的行为。由于该漏洞影响所有使用GLib进行Base64处理的应用程序,因此影响范围广泛,包括众多Linux发行版上的系统工具和桌面应用程序。
漏洞根源在于GLib的Base64编码实现中,当输入数据大小接近或超过特定阈值时,用于计算输出缓冲区的整数变量可能发生溢出。具体来说,代码中使用32位整数计算Base64编码后的数据长度,但在处理超大输入时,计算结果可能超出整数的表示范围,导致回绕(wrap-around)现象。错误的计算结果会使分配的缓冲区大小远小于实际所需,导致后续的内存写入操作越界。攻击者只需构造一个超大的Base64编码字符串(或原始二进制数据),当目标应用程序使用GLib的g_base64_encode()或相关函数处理时,即可触发此漏洞。成功利用可导致拒绝服务(应用程序崩溃)或在特定条件下实现代码执行。