CVE:CVE-2007-1209
CNNVD:CNNVD-200704-166
Microsoft Windows是美国微软（Microsoft）公司发布的一系列操作系统。
Windows的CSRSS服务实现上存在设计漏洞，本地攻击者可能利用此漏洞提升自己的权限。
从Windows Vista开始使用了一种扩展形式的本地过程调用(LPC)，被称为高级本地过程调用(ALPC)，用于取代旧的LPC与CSRSS进行通讯。每个新的进程都会创建到其会话CSRSS的ApiPort(\Windows\ApiPort或\Sessions\<sessionid>\Windows\ApiPort)的ALPC连接。
CSRSS在其服务的会话中维护一个关于进程结构的内部双向链表。引入ALPC后，CSRSS就可以通过使用连接上下文属性中的指针字段将ALPC连接关联到所调用进程相关的进程结构上。但是，CSRSS中很多地方错误的假设进程只会生成一个ApiPort连接，如CSRSRV.DLL!CsrApiRequestThread。每个进程结构中都包含有一个引用计数器，如果创建了新的ALPC连接计数器不会递增，但如果关闭了连接的话可能会递减。因此，攻击者可以创建多个ApiPort连接，然后通过关闭最初的连接释放客户端的进程结构，最后关闭第二个连接或对其执行其他行为，导致错误的重新使用已不存在的进程结构指针。
这个漏洞允许攻击者对以释放或已重新分配用于其他用途的内存执行操作。攻击者可以通过关闭第一个连接释放进程结构(在Vista中NTDLL.DLL!CsrPortHandle不受保护)，用任意数据替换进程结构之前所占用的堆内存，然后通过关闭第二个连接导致如进程结构那样引用并释放所替换进去的数据。一旦完成了这些操作，CSRSS的执行就会被牵引到攻击者所提供的函数指针上。
solution:Upgrade microsoft windows_vista to a higher version than *