Lotus Notes和Domino服务器支持私有协议称为NotesRPC。一般称以Notes协议命名,这个协议绑定在TCP 1352口,但也可以使用NetBIOS、Netware SPX、Banyan Vines和modem拨号来传输。 Lotus在处理验证过程中存在漏洞,远程攻击者利用这个漏洞进行缓冲区溢出攻击,可能以WEB进程权限在系统上执行任意指令。 当Notes客户端连接服务器的时候,会与服务器建立会话以进行验证,验证包括客户端和服务器端一系列挑战交换。未授权客户端在交换阶段可以提交恶意数据而在Notes服务器端上触发缓冲区溢出。 在NotesRPC验证过程中,客户端发送辨别名(distinguished name (DN))服务器端,辨别名是类似\"CN=John Smith/O=Acme/C=US\"的字符串,DN字符串前缀是一个16bit长的字段,外部数据包结构包含一个头部字段提供DN字段长度的参考(前缀长度加上DN自身的长度)。 如果外部头结构中的指定的长度小于或等于DN字段中的长度,会由于数据偏移量算法的错误导致发生基于堆的破坏(如把65534字节拷贝到Notes堆中)。
Lotus Notes和Domino服务器支持私有协议称为NotesRPC。一般称以Notes协议命名,这个协议绑定在TCP 1352口,但也可以使用NetBIOS、Netware SPX、Banyan Vines和modem拨号来传输。 Lotus在处理验证过程中存在漏洞,远程攻击者利用这个漏洞进行缓冲区溢出攻击,可能以WEB进程权限在系统上执行任意指令。 当Notes客户端连接服务器的时候,会与服务器建立会话以进行验证,验证包括客户端和服务器端一系列挑战交换。未授权客户端在交换阶段可以提交恶意数据而在Notes服务器端上触发缓冲区溢出。 在NotesRPC验证过程中,客户端发送辨别名(distinguished name (DN))服务器端,辨别名是类似\"CN=John Smith/O=Acme/C=US\"的字符串,DN字符串前缀是一个16bit长的字段,外部数据包结构包含一个头部字段提供DN字段长度的参考(前缀长度加上DN自身的长度)。 如果外部头结构中的指定的长度小于或等于DN字段中的长度,会由于数据偏移量算法的错误导致发生基于堆的破坏(如把65534字节拷贝到Notes堆中)。