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