MinIOЧÀÍÆ÷¶ËÇëÇóαÔìÎó²î£¨CVE-2021-21287£©

Ðû²¼Ê±¼ä 2021-02-03

0x00 Îó²î¸ÅÊö

CVE  ID

CVE-2021-21287

ʱ   ¼ä

2021-02-03

Àà   ÐÍ

SSRF

µÈ   ¼¶

¸ßΣ

Ô¶³ÌʹÓÃ

ÊÇ

Ó°Ïì¹æÄ£


 

0x01 Îó²îÏêÇé

image.png

 

¼òÊö

MinIOÊÇÒ»¸ö»ùÓÚApache License v2.0¿ªÔ´Ð­ÒéµÄ¹¤¾ß´æ´¢Ð§ÀÍ¡£¡£¡£¡£¡£¡£Ëü¼æÈÝÑÇÂíÑ·S3ÔÆ´æ´¢Ð§ÀͽӿÚ£¬£¬£¬£¬ÊÊÓÃÓÚ´æ´¢´óÈÝÁ¿·Ç½á¹¹»¯µÄÊý¾Ý£¨ÈçͼƬ¡¢ÊÓÆµ¡¢ÈÕÖ¾Îļþ¡¢±¸·ÝÊý¾ÝºÍÈÝÆ÷/ÐéÄâ»ú¾µÏñµÈ£©£¬£¬£¬£¬×÷Ϊһ¿îÖ§³Ö°²ÅÅÔÚ˽ÓÐÔÆµÄ¿ªÔ´¹¤¾ß´æ´¢ÏµÍ³£¬£¬£¬£¬MinIOÔÚÈ«Çò±»ÆÕ±éʹÓᣡ£¡£¡£¡£¡£

2021Äê02ÔÂ03ÈÕ£¬£¬£¬£¬phith0n¹ûÕæÅû¶ÁËMinIOÖеÄÒ»¸öЧÀÍÆ÷¶ËÇëÇóαÔìÎó²î£¨CVE-2021-21287£©£¬£¬£¬£¬ÆäCVSSÆÀ·Ö7.7¡£¡£¡£¡£¡£¡£ÓÉÓÚMinIO×é¼þÖÐLoginSTS½Ó¿ÚÉè¼Æ²»µ±£¬£¬£¬£¬µ¼Ö±£´æÐ§ÀÍÆ÷¶ËÇëÇóαÔìÎó²î¡£¡£¡£¡£¡£¡£¹¥»÷Õß¿ÉÒÔͨ¹ý½á¹¹URLÀ´ÌᳫЧÀÍÆ÷¶ËÇëÇóαÔì¹¥»÷£¬£¬£¬£¬ÀÖ³ÉʹÓôËÎó²îµÄ¹¥»÷ÕßÄܹ»Í¨¹ýʹÓÃЧÀÍÆ÷ÉϵĹ¦Ð§À´¶ÁÈ¡¡¢¸üÐÂÄÚ²¿×ÊÔ´»òÖ´ÐÐí§ÒâÏÂÁî¡£¡£¡£¡£¡£¡£¸ÃÎó²îÎÞÐèÓû§ÑéÖ¤¼´¿ÉÔ¶³ÌʹÓ㬣¬£¬£¬ÏÖÔÚÒѱ»ÐÞ¸´¡£¡£¡£¡£¡£¡£

 

Îó²îϸ½Ú

MinIO×é¼þÖÐLoginSTS½Ó¿Ú×ÅʵÊÇAWS STSµÇ¼½Ó¿ÚµÄÒ»¸öÊðÀí£¬£¬£¬£¬ÓÃÓÚ½«·¢Ë͵½JsonRPCµÄÇëÇóתÄð³ÉSTSµÄ·½·¨×ª·¢¸øÍâµØµÄ9000¶Ë¿Ú¡£¡£¡£¡£¡£¡£

// LoginSTS - STS user login handler.

func (web *webAPIHandlers) LoginSTS(r *http.Request, args *LoginSTSArgs, reply *LoginRep) error {

 ctx := newWebContext(r, args, "WebLoginSTS")

 

 v := url.Values{}

 v.Set("Action", webIdentity)

 v.Set("WebIdentityToken", args.Token)

 v.Set("Version", stsAPIVersion)

 

 scheme := "http"

    // ...

 

 u := &url.URL{

  Scheme: scheme,

  Host:   r.Host,

 }

 

 u.RawQuery = v.Encode()

 req, err := http.NewRequest(http.MethodPost, u.String(), nil)

 // ...

}

ÓÉÓÚÂß¼­Éè¼Æ²»µ±£¬£¬£¬£¬MinIO»á½«Óû§·¢Ë͵ÄHTTPÍ·HostÖлñÈ¡µ½µØµã×÷ΪURLµÄHostÀ´½á¹¹ÐµÄURL¡£¡£¡£¡£¡£¡£µ«ÓÉÓÚÇëÇóÍ·ÊÇÓû§¿É¿ØµÄ£¬£¬£¬£¬ÒÔÊÇ¿ÉÒԽṹí§ÒâµÄHost£¬£¬£¬£¬×îÖÕµ¼Ö±£´æSSRFÎó²î¡£¡£¡£¡£¡£¡£

 

Ó°Ïì¹æÄ£

MinIO < RELEASE.2021-01-30T00-20-58Z

 

 

0x02 ´¦Öóͷ£½¨Òé

ÏÖÔÚ¸ÃÎó²îÒѱ»ÐÞ¸´£¬£¬£¬£¬½¨ÒéÉý¼¶ÖÁRELEASE.2021-01-30T00-20-58Z¡£¡£¡£¡£¡£¡£

ÏÂÔØÁ´½Ó£º

https://github.com/minio/minio/releases/tag/RELEASE.2021-01-30T00-20-58Z

 

½â¾öÒªÁì

ÉèÖÃÇéÐαäÁ¿¡° MINIO_BROWSER = off¡±¡£¡£¡£¡£¡£¡£

 

0x03 ²Î¿¼Á´½Ó

https://mp.weixin.qq.com/s/X04IhY9Oau-kDOVbok8wEw

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-21287

https://nvd.nist.gov/vuln/detail/CVE-2021-21287

 

0x04 ʱ¼äÏß

2021-02-02  phith0nÅû¶Îó²î

2021-02-03  VSRCÐû²¼Ç徲ͨ¸æ

 

0x05 ¸½Â¼

 

CVSSÆÀ·Ö±ê×¼¹ÙÍø£ºhttp://www.first.org/cvss/

image.png