Java WebStart是用于简化在客户端部署Java应用程序的技术。 Java WebStart在处理畸形格式的JNLP文档时存在漏洞,攻击者可能利用此漏洞通过诱使用户打开处理恶意文件控制用户系统。 Java WebStart中的javaws.exe负责从JNLP文件中获得下载指令。JNLP文件中的jnlp单元包含有codebase属性,在之后的操作中通过sprintf将该属性拷贝到了1K的缓冲区,但拷贝时还附加了到用户临时目录的路径。由于在sprintf之前没有验证长度,因此可以通过恶意codebase输入触发栈溢出。对输入唯一的限制是任何多字节字符都会被转换为0xFF,因此仅允许0x01到0x7F的字符。
Java WebStart是用于简化在客户端部署Java应用程序的技术。 Java WebStart在处理畸形格式的JNLP文档时存在漏洞,攻击者可能利用此漏洞通过诱使用户打开处理恶意文件控制用户系统。 Java WebStart中的javaws.exe负责从JNLP文件中获得下载指令。JNLP文件中的jnlp单元包含有codebase属性,在之后的操作中通过sprintf将该属性拷贝到了1K的缓冲区,但拷贝时还附加了到用户临时目录的路径。由于在sprintf之前没有验证长度,因此可以通过恶意codebase输入触发栈溢出。对输入唯一的限制是任何多字节字符都会被转换为0xFF,因此仅允许0x01到0x7F的字符。