GNU Tar和GNU Cpio都是流行的用于管理档案文件的程序。 GNU Tar/Cpio的rmt客户端的lib/rtapelib.c文件的rmt_read__函数存在堆溢出漏洞。在for循环中,rmt_read__函数从服务器将status字节读入到缓冲区时,但没有检查status是否小于或等于length参数所指定的缓冲区长度,因此恶意rmt服务器可以覆盖缓冲区后堆上数据。
GNU Tar和GNU Cpio都是流行的用于管理档案文件的程序。 GNU Tar/Cpio的rmt客户端的lib/rtapelib.c文件的rmt_read__函数存在堆溢出漏洞。在for循环中,rmt_read__函数从服务器将status字节读入到缓冲区时,但没有检查status是否小于或等于length参数所指定的缓冲区长度,因此恶意rmt服务器可以覆盖缓冲区后堆上数据。