Cygwin是许多自由软件的集合,用于在各种版本的Microsoft Windows上运行UNIX类系统。 Cygwin处理超长文件名时存在漏洞,恶意用户可能利用此漏洞在系统上执行任意指令。 一般来讲Linux文件系统允许255字节的文件名,但cygwin允许239字节,并执行检查防范大于等于240字节的文件名。尽管执行了这个检查,存储文件名的动态内存缓冲区仅分配了232字节,因此233到239字节的文件名可以绕过检查覆盖堆上最多7个字节,导致执行任意指令。
Cygwin是许多自由软件的集合,用于在各种版本的Microsoft Windows上运行UNIX类系统。 Cygwin处理超长文件名时存在漏洞,恶意用户可能利用此漏洞在系统上执行任意指令。 一般来讲Linux文件系统允许255字节的文件名,但cygwin允许239字节,并执行检查防范大于等于240字节的文件名。尽管执行了这个检查,存储文件名的动态内存缓冲区仅分配了232字节,因此233到239字节的文件名可以绕过检查覆盖堆上最多7个字节,导致执行任意指令。