SQLite Ô¶³Ì´úÂëÖ´Ðзì϶£¨CVE-2019-5018£©

°ä²¼¹¦·ò 2019-05-11

01²¼¾°ÃèÊö



SQLite 3.28.0½¨¸´ÁËÓÉ˼¿ÆTalos·¢ÏÖ²¢»ã±¨µÄÔ¶³Ì´úÂëÖ´Ðзì϶£¨CVE-2019-5018£©¡£¡£¡£¡£¡£


02Ó°ÏìÁìÓò



CVE ID  £º   CVE-2019-5018    
·ì϶µÈ¼¶£º   ¸ßΣ
Ó°ÏìÁìÓò£º   SQLite 3.26.0¡¢3.27.0
CVSSÆÀ·Ö£º   8.1


03·ì϶ÏêÇé



SQLite 3.26.0µÄ´°¿Úº¯ÊýÖдæÔڿɱ»ÀûÓõÄuse-after-free·ì϶£¬£¬£¬ £¬£¬£¬£¬£¬¹¥»÷Õß¿Éͨ¹ý·¢ËͶñÒâSQLºÅÁîÀ´´¥·¢´Ë·ì϶£¬£¬£¬ £¬£¬£¬£¬£¬µ¼ÖÂÔ¶³Ì´úÂëÖ´ÐС£¡£¡£¡£¡£


¾ßÌåϸ½ÚΪ£¬£¬£¬ £¬£¬£¬£¬£¬SQLiteÔÚ¶ÔÔ̺¬´°¿Úº¯ÊýµÄSELECTÓï¾ä½øÐнâÎöºó£¬£¬£¬ £¬£¬£¬£¬£¬Ê¹ÓÃsqlite3WindowRewriteº¯Êý¶Ô¸ÃSELECTÓï¾ä½øÐÐת»»¡£¡£¡£¡£¡£


8827Ì«Ñô¼¯ÍÅ(Macau)¹É·ÝÓÐÏÞ¹«Ë¾-Official website


Ôڴ˺¯ÊýÖУ¬£¬£¬ £¬£¬£¬£¬£¬ÈôÊǸÃSELECTÓï¾äÔ̺¬¾ÛºÏº¯Êý£¨COUNT£¬£¬£¬ £¬£¬£¬£¬£¬MAX£¬£¬£¬ £¬£¬£¬£¬£¬MIN£¬£¬£¬ £¬£¬£¬£¬£¬AVG£¬£¬£¬ £¬£¬£¬£¬£¬SUM£©£¬£¬£¬ £¬£¬£¬£¬£¬Ôò³ÁдSELECT¶ÔÏó±£ÁôµÄ±í°×ʽÁÐ±í£¨ÏÂͼÖеÚ[0]ÐУ©¡£¡£¡£¡£¡£

8827Ì«Ñô¼¯ÍÅ(Macau)¹É·ÝÓÐÏÞ¹«Ë¾-Official website


Ö÷´°¿Ú¶ÔÏópMWinÈ¡×ÔSELECT¶ÔÏ󣬣¬£¬ £¬£¬£¬£¬£¬²¢ÔÚ³ÁдÆÚ¼ä±»Ê¹ÓÃ[1]¡£¡£¡£¡£¡£±éÀúSELECT¶ÔÏóµÄ±í°×ʽÁбí£¬£¬£¬ £¬£¬£¬£¬£¬³Áд´°¿Úº¯ÊýÒÔ±ãÓÚ´¦Öᣡ£¡£¡£¡£


8827Ì«Ñô¼¯ÍÅ(Macau)¹É·ÝÓÐÏÞ¹«Ë¾-Official website


°ÑÎÈÖ÷´°¿Ú¶ÔÏóÔÚWindowRewrite¶ÔÏóÖÐʹÓᣡ£¡£¡£¡£ÔÚÑ­»·´¦ÖÃÿһ¸ö±í°×ʽʱ£¬£¬£¬ £¬£¬£¬£¬£¬½«xExprCallbackº¯Êý×÷Ϊ»Øµ÷º¯Êý¡£¡£¡£¡£¡£µ±´¦ÖþۺϺ¯Êý£¨TK AGG FUNCTION£©ºó£¬£¬£¬ £¬£¬£¬£¬£¬±í°×ʽ±»É¾³ý[2]¡£¡£¡£¡£¡£


8827Ì«Ñô¼¯ÍÅ(Macau)¹É·ÝÓÐÏÞ¹«Ë¾-Official website


ÈôÊDZ»É¾³ýµÄ±í°×ʽ±»ÏóÕ÷Ϊ´°¿Úº¯Êý£¬£¬£¬ £¬£¬£¬£¬£¬ÔòÒ²»áɾ³ý¹ØÁªµÄWindow¶ÔÏ󡣡£¡£¡£¡£


8827Ì«Ñô¼¯ÍÅ(Macau)¹É·ÝÓÐÏÞ¹«Ë¾-Official website


²¢É¾³ý¸ÃWindow¶ÔÏó¹ØÁªµÄ·ÖÇø¡£¡£¡£¡£¡£

8827Ì«Ñô¼¯ÍÅ(Macau)¹É·ÝÓÐÏÞ¹«Ë¾-Official website


»ØÊ׳õʼµÄsqlite3WindowRewriteº¯Êý£¬£¬£¬ £¬£¬£¬£¬£¬·¢Ïָú¯ÊýÔÚ³Áд±í°×ʽÁбí[4]Ö®ºóͨ¹ýexprListAppendList³ÁÓÃÕâ¸ö±»É¾³ýµÄ·ÖÇø[5]£¬£¬£¬ £¬£¬£¬£¬£¬´Ó¶øµ¼ÖÂuse-after-freeºÍ»Ø¾ø·þÎñ¡£¡£¡£¡£¡£ÈôÊǹ¥»÷ÕßÄܹ»½ÚÔìfreeºóµÄÄڴ棬£¬£¬ £¬£¬£¬£¬£¬Ôò¿ÉÄÜ·ÛËé¸üÎÞÊý¾Ý£¬£¬£¬ £¬£¬£¬£¬£¬´Ó¶øµ¼Ö´úÂëÖ´ÐС£¡£¡£¡£¡£


8827Ì«Ñô¼¯ÍÅ(Macau)¹É·ÝÓÐÏÞ¹«Ë¾-Official website


Äܹ»Ê¹ÓÃDebug°æ±¾µÄsqlite3ÏÈÇå¿Õ±»freeµÄ»º³åÇøµÄÄÚÈÝ£¬£¬£¬ £¬£¬£¬£¬£¬ÒÔ¸üºÃµØ½øÐÐÑÝʾ[5]¡£¡£¡£¡£¡£


8827Ì«Ñô¼¯ÍÅ(Macau)¹É·ÝÓÐÏÞ¹«Ë¾-Official website


ͨ¹ýgdb sqlite3ÔËÐÐPoC£¬£¬£¬ £¬£¬£¬£¬£¬¿É¹Û²ìµ½0xfafafafafafafafa×ó½ü²úÉú±ÀÀ££¬£¬£¬ £¬£¬£¬£¬£¬ÕâÒâζ×ŶÔÒÑ¿ªÊ͵Ļº³åÇøµÄÔٴνӼû£º

8827Ì«Ñô¼¯ÍÅ(Macau)¹É·ÝÓÐÏÞ¹«Ë¾-Official website


ʹÓÃsqlite3 shell ÔËÐÐPoC£º

8827Ì«Ñô¼¯ÍÅ(Macau)¹É·ÝÓÐÏÞ¹«Ë¾-Official website


04½¨¸´½¨Òé



´Ë·ì϶ÒÑÔÚSQLite 3.28.0Öн¨¸´¡£¡£¡£¡£¡£


05²Î¿¼Á´½Ó



https://blog.talosintelligence.com/2019/05/vulnerability-spotlight-remote-code.html
https://www.sqlite.org/src/info/884b4b7e502b4e99