25, 1/1 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   ¸Û¸Û
   http://hackerschool.org
   setsockopt() Ãë¾àÁ¡ : Ãë¾àÁ¡ ºÐ¼®

http://www.hackerschool.org/HS_Boards/zboard.php?id=advisory&no=28 [º¹»ç]


´ÙÀ½Àº iSEC¿¡¼­ ¹ßÇ¥ÇÑ ±â¼ú ¹®¼­¸¦ ¹ø¿ªÇÑ °ÍÀÔ´Ï´Ù.

.°³¿ä: Linux kernel setsockopt MCAST_MSFILTER integer overflow
.¹öÀü: Linux kernel 2.4.22 - 2.4.25, 2.6.1 - 2.6.3
.URL : http://isec.pl/vulnerabilities/isec-0015-msfilter.txt
.ÀúÀÚ: Paul Starzetz
       Wojciech Purczynski
.³¯Â¥: 2004³â 4¿ù 20ÀÏ
.¹ø¿ª: y2family@wiseguys(hackerschool research team)



¹®Á¦Á¡:
========
¸®´ª½º Ä¿³ÎÀÇ ip_setsockopt() Äڵ忡¼­ Áß´ëÇÑ º¸¾È»ó Ãë¾àÁ¡ÀÌ ¹ß°ßµÇ¾ú´Ù.


¼¼ºÎ»çÇ×:
==========
ip_setsockopt() ÄÚµå´Â setsockopt(2) ½Ã½ºÅÛ ÄÝÀÇ ¼­ºê ·çƾÀÌ´Ù. ÀÌ ÇÔ¼ö´Â IP ¼ÒÄÏÀÇ
´Ù¾çÇÑ ¿É¼ÇµéÀ» º¯°æÇϴµ¥ ¾²ÀδÙ. MCAST_MSFILTER ¿É¼ÇÀº Ä¿³Î¿¡°Ô ¼ÒÄÏ¿¡¼­ ¼ö½Å ÇÒ
´ÙÁß ¾îµå·¹½º ¸®½ºÆ®¸¦ Á¦°øÇϱâ À§Çؼ­ »ç¿ëµÉ ¼ö ÀÖ´Ù. ÀÌ ÄÚµå´Â Ä¿³Î 2.4.22/2.6.1
¿¡¼­ ºÎÅÍ ¼Ò°³µÇ¾ú´Ù.

MCAST_MSFILTER ¼ÒÄÏ ¿É¼Ç ³»ºÎÀÇ IP_MSFILTER_SIZE ¸ÅÅ©·Î ¿¬»ê¿¡¼­ ÀÎƼÀú ¿À¹öÇ÷ξî
Ãë¾àÁ¡ÀÌ Á¸ÀçÇϸç Ãë¾à ÄÚµå´Â net/ipv4/ip_sockglue.c ÆÄÀÏ ³»ºÎ¿¡ Á¸ÀçÇÑ´Ù.


case MCAST_MSFILTER:
{
/* ... */
        msize = IP_MSFILTER_SIZE(gsf->gf_numsrc);
        msf = (struct ip_msfilter *)kmalloc(msize,GFP_KERNEL);
/* ... */
        for (i=0; igf_numsrc; ++i) {
                psin = (struct sockaddr_in *)&gsf->gf_slist[i];
                if (psin->sin_family != AF_INET)
                        goto mc_msf_out;
                msf->imsf_slist[i] = psin->sin_addr.s_addr;
        }

IP_MSFILTER_SIZE ¸ÅÅ©·Î´Â ´ÙÀ½°ú °°ÀÌ Á¤ÀǵǾî ÀÖ´Ù.

#define IP_MSFILTER_SIZE(numsrc) \
        (sizeof(struct ip_msfilter) - sizeof(__u32) \
        + (numsrc) * sizeof(__u32))

Ä¿³Î ¸Þ¸ðÀÇ °ø°£ ¿¬»ê¿¡¼­ÀÇ ÀÎƼÀú ¿À¹öÇ÷ξî´Â for ·çÇÁ ³»ºÎ¿¡¼­ Ä¿³Î ¹öÆÛ°¡ ÀÓÀÇÀÇ
°ªÀ¸·Î ³ÑÄ¡´Â °ÍÀ» °¡´ÉÇÏ°Ô ÇÑ´Ù.


¿µÇâ:
=====
ÀÌ Ãë¾àÁ¡ÀÇ ÀûÀýÇÑ ÀÌ¿ëÀº °ø°ÝÀÚ¿¡°Ô ·çÆ® ±ÇÇÑÀ» ÁÖ´Â ·ÎÄà ±ÇÇÑ »ó½ÂÀ» ÀÏÀ¸Å²´Ù. ±×¸®
°í ¼º°øÀûÀÌÁö ¸øÇÑ °ø°ÝÀº ½Ã½ºÅÛÀ» Á¤Áö½ÃÅ°°Å³ª Áï½Ã ÀçºÎÆà ½ÃÅ°´Â ¼­ºñ½º °ÅºÎ °ø°Ý
(DOS)À» ÀÏÀ¸Å³ ¼ö ÀÖ´Ù.


ÇØ°áÃ¥:
=======
ÀÌ ¹ö±×´Â Ä¿³Î ¹èÆ÷ÆÇ 2.4.26°ú 2.6.4¿¡¼­ °íÃÄÁ³´Ù. Ãë¾à Ä¿³ÎÀÇ ¸ðµç »ç¿ëÀÚ´Â ÃÖ½Å
¹öÀüÀÇ Ä¿³Î·Î ¾÷±×·¹À̵å ÇÒ °ÍÀÌ ±ÇÀåµÈ´Ù.


ÀúÀÚÀÇ ¸»:
==========

Paul Starzetz ¿¡ ÀÇÇØ ¹Ý³âÀü¿¡ ÀÌ Ãë¾àÁ¡ÀÌ ¹àÇôÁü.
Wojciech Purczynski¿¡ ÀÇÇØ ¿¬±¸°¡ ¼öÇàµÇ°í ÀͽºÇ÷ÎÀÕ Äڵ尡 °³¹ßµÊ.
ÀÌ°÷¿¡ Á¦°øµÈ º¹»ç, ¹èÆ÷ ±×¸®°í Á¤º¸ÀÇ ¼öÁ¤Àº ÀúÀÚÀÇ µ¿ÀÇÇÏ¿¡ Çã°¡µÊ.


¿ªÀÚÀÇ ¸»:
==========
¿ø¹®¿¡ ÷ºÎµÈ Proof of concept ÄÚµå´Â ·çÆ®½©À» ¶ç¿ìÁö ¾Ê°í ½Ã½ºÅÛ¸¸ Á¤Áö
½Ãŵ´Ï´Ù. ÆÐÄ¡ ¸ðµâÀº Ä¿³Î ¾÷±×·¹À̵峪 ¸®ºÎÆÃÀÌ ÇÊ¿ä ¾øÀÌ Ãë¾àÁ¡À» ¸·À»
¼ö ÀÖ½À´Ï´Ù¸¸ Ä¿³Î ¾÷±×·¹À̵带 ÇϽô °ÍÀ» ±ÇÀåÇÕ´Ï´Ù.

ÀÌ ±ÛÀÇ ÀúÀÛ±ÇÀº ¾ø½À´Ï´Ù.  ¿ªÀÚ¿¡°Ô´Â ¿À¿ªÀ̳ª ¾Ç¿ë À¸·Î ÀÎÇÑ Ã¥ÀÓÀº ¾øÀ¸¸ç,
¿À¿ª µÈ ºÎºÐÀÌ ÀÖ´Ù¸é ¸ÞÀÏ·Î ¿¬¶ôÁÖ½Ã°í °ËÅäÈÄ ¼öÁ¤Çϵµ·Ï ÇÏ°Ú½À´Ï´Ù.

[Ãë¾àÁ¡ ÆÐÄ¡]


  Hit : 5124     Date : 2004/05/20 01:23



    
25   setsockopt() Ãë¾àÁ¡ : ¹æ¾î ¸ðµâÀ» ÀÌ¿ëÇÑ ÆÐÄ¡[1]     ¸Û¸Û
05/20 3438
24   setsockopt() Ãë¾àÁ¡ : Ä¿³Î ¾÷±×·¹À̵带 ÅëÇÑ ÆÐÄ¡[5]     ¸Û¸Û
05/20 3187
23   setsockopt() Ãë¾àÁ¡ : Ãë¾àÁ¡ ÆÐÄ¡     ¸Û¸Û
05/20 3556
  setsockopt() Ãë¾àÁ¡ : Ãë¾àÁ¡ ºÐ¼®     ¸Û¸Û
05/20 5123
21   setsockopt() Ãë¾àÁ¡ : °ø°ÝÀÇ ÇÇÇØ     ¸Û¸Û
05/20 3765
20   setsockopt() Ãë¾àÁ¡ : °ø°ÝÀÇ ´ë»ó[4]     ¸Û¸Û
05/20 4454
19   [5¿ù 20ÀÏ] 2.6.3°ú 2.4.25 ÀÌÇÏ ¸®´ª½º Ä¿³ÎÀÇ setsockopt ½Ã½ºÅÛ ÄÝ Ãë¾àÁ¡[5]     ¸Û¸Û
05/20 9256
18   do_mremap() Ãë¾àÁ¡ 2 : Ãë¾àÁ¡ ÆÐÄ¡[1]     ¸Û¸Û
03/16 3356
17   do_mremap() Ãë¾àÁ¡ 2 : Ãë¾àÁ¡ ºÐ¼®[4]     ¸Û¸Û
03/16 3580
16   do_mremap() Ãë¾àÁ¡ 2 : Ãë¾àÁ¡ ÇÇÇØ     ¸Û¸Û
03/16 3389
15   do_mremap() Ãë¾àÁ¡ 2 : °ø°ÝÀÇ ´ë»ó[2]     ¸Û¸Û
03/16 3366
14   [3¿ù 1ÀÏ] ¸®´ª½º Ä¿³Î do_mremap ³»ºÎ ÇÔ¼öÀÇ ¶Ç ´Ù¸¥ Ãë¾àÁ¡.     ¸Û¸Û
03/15 5059
13   do_mremap() Ãë¾àÁ¡ : Ãë¾àÁ¡ ÆÐÄ¡[8]     ¸Û¸Û
01/27 3646
12   do_mremap() Ãë¾àÁ¡ : Ãë¾àÁ¡ ºÐ¼®     ¸Û¸Û
01/27 4073
11   do_mremap() Ãë¾àÁ¡ : °ø°ÝÀÇ ÇÇÇØ     ¸Û¸Û
01/27 3435
10   do_mremap() Ãë¾àÁ¡ : Ãë¾àÁ¡ È®ÀÎ[1]     ¸Û¸Û
01/27 3475
9   do_mremap() Ãë¾àÁ¡ : °ø°ÝÀÇ ´ë»ó     ¸Û¸Û
01/27 4018
8   [1¿ù 15ÀÏ] ¹öÀü 2.4.23 & 2.6.0 ÀÌÇÏ ¸®´ª½º Ä¿³ÎÀÇ do_mremap() Ãë¾àÁ¡[1]     ¸Û¸Û
01/27 7395
7   do_brk() Ãë¾àÁ¡ : ¹æ¾î ¸ðµâÀ» ÀÌ¿ëÇÑ ÆÐÄ¡[3]     ¸Û¸Û
12/17 4019
6   do_brk() Ãë¾àÁ¡ : Ä¿³Î ¾÷±×·¹À̵带 ÅëÇÑ ÆÐÄ¡     ¸Û¸Û
12/17 3810
5   do_brk() Ãë¾àÁ¡ : Ãë¾àÁ¡ ÆÐÄ¡[3]     ¸Û¸Û
12/17 4413
4   do_brk() Ãë¾àÁ¡ : Ãë¾àÁ¡ ºÐ¼®[1]     ¸Û¸Û
12/17 6333
3   do_brk() Ãë¾àÁ¡ : °ø°ÝÀÇ ÇÇÇØ     ¸Û¸Û
12/17 4602
2   do_brk() Ãë¾àÁ¡ : °ø°ÝÀÇ ´ë»ó     ¸Û¸Û
12/17 4993
1   [12¿ù 17ÀÏ] ¹öÀü 2.4.22 ÀÌÇÏ ¸®´ª½º Ä¿³ÎÀÇ do_brk() Ãë¾àÁ¡[2]     ¸Û¸Û
12/17 7538
1

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org