[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[stalk:00253] Re: ntpd =< 4.0.99k remote buffer overflow





<62960.986443610@xxxxxxxxxxxxxxxxxxxxxx>において
KOJIMA Hajime / 小島肇 さんがおっしゃるには:
| | <http://www.jp.freebsd.org/cgi/cvsweb.cgi/src/contrib/ntp/ntpd/ntp_control.c.diff?r1=1.1.1.2&r2=1.1.1.2.2.1>
| | 
| |   上記 patch は最新版 ntpd 4.0.99k にも適用可能です。
| 
|   これ大嘘。つくるからちょっと待ってね。

  なんか 4.0.99k のソースのフォーマットがアレで適用できないみたい
  ですね……。中身は同じでいいと思うんですが。

--- ntpd/ntp_control.c.back	Thu Apr  5 13:09:20 2001
+++ ntpd/ntp_control.c	Thu Apr  5 13:14:04 2001
@@ -1822,8 +1822,19 @@
 					    isspace((int)*cp))
 						cp++;
 					while (cp < reqend && *cp !=
-					    ',')
+					    ',') {
 						*tp++ = *cp++;
+						if (tp > buf + sizeof(buf)) {
+							msyslog(LOG_WARNING, "Attempted \"ntpdx\" exploit from IP %d.%d.%d.%d:%d (possibly spoofed)\n",
+							    (ntohl(rmt_addr->sin_addr.s_addr) >> 24) & 0xff,
+							    (ntohl(rmt_addr->sin_addr.s_addr) >> 16) & 0xff,
+							    (ntohl(rmt_addr->sin_addr.s_addr) >> 8) & 0xff,
+							    (ntohl(rmt_addr->sin_addr.s_addr) >> 0) & 0xff,
+							    ntohs(rmt_addr->sin_port)
+							);
+							return (0);
+						}
+					}
 					if (cp < reqend)
 						cp++;
 					*tp = '\0';
----
// 木下是雄「理科系の作文技術」中公新書 624 を読もう!!

小島 肇 - KOJIMA Hajime
[Office] kjm@xxxxxxxxxxxxxxxxxx, http://www.st.ryukoku.ac.jp/~kjm/
         Phone: 077-543-7414  Fax: 077-543-0706
--
- このメイリングリストに関する質問・問い合せ等は
- <security-talk@xxxxxxxxxx>までお知らせください
--
------------------------------------------------------------------------
    ◆桜も良いけど爽やか季節♪ 〜お出かけどこ行く?!
 http://www.infoseek.co.jp/Playspot?pg=playspot_top.html&svx=971122