MinIOЧÀÍÆ÷¶ËÇëÇóαÔìÎó²î£¨CVE-2021-21287£©
Ðû²¼Ê±¼ä 2021-02-030x00 Îó²î¸ÅÊö
CVE ID | CVE-2021-21287 | ʱ ¼ä | 2021-02-03 |
Àà ÐÍ | SSRF | µÈ ¼¶ | ¸ßΣ |
Ô¶³ÌʹÓà | ÊÇ | Ó°Ïì¹æÄ£ |
0x01 Îó²îÏêÇé
¼òÊö
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/