CVE:CVE-2009-2356
CNNVD:CNNVD-200907-104
Groupware是一个开源的团队协作软件，包含有即时消息、公共论坛、邮件等多种功能。 
远程攻击者可以通过向Groupware的多个模块提交恶意参数请求导致拒绝服务或执行任意代码。
当Groupware配置为使用PostgreSQL数据库服务器时会调用以下函数：
int pgSQLQuery(CONN *sid， int sqr， char *SQLquery)
{
...
char query[8192];
...
memset(query， 0， sizeof(query));
snprintf(query， sizeof(query)-1， DECLARE myportal CURSOR FOR );
strncat(query， SQLquery， sizeof(query));
...
}
该函数在栈上为查询分配了8192字节的缓冲区，然后继续创建SQL查询，但在创建28字节固定长度的字符串时最多又连接了8192字节的数据，因此写到栈上的全部数据(8220字节)大于最初所分配的缓冲区。理论上只要所传送的SQLquery值大于8163字节，就可以溢出函数基指针(%ebp)和返回地址(%eip)。
solution:Upgrade dan_cahill nulllogic_groupware to a higher version than 1.2.7,and avoid the version 1.2.7