¡¾·ì϶¹«¸æ¡¿PostgreSQL SQL×¢Èë·ì϶(CVE-2025-1094)

°ä²¼¹¦·ò 2025-02-21

Ò»¡¢·ì϶¸ÅÊö


·ìϼûû³Æ

PostgreSQL SQL×¢Èë·ì϶

CVE   ID

CVE-2025-1094

·ì϶ÀàÐÍ

SQL×¢Èë

·¢ÏÖ¹¦·ò

2025-02-21

·ì϶ÆÀ·Ö

8.1

·ì϶µÈ¼¶

¸ßΣ

¹¥»÷ÏòÁ¿

ÍøÂç

ËùÐèȨÏÞ

ÎÞ

ÀûÓÃÄѶÈ

¸ß

Óû§½»»¥

ÎÞ

PoC/EXP

Òѹ«¿ª

ÔÚÒ°ÀûÓÃ

δ·¢ÏÖ


PostgreSQLÊÇÒ»¸ö¿ªÔ´¡¢×³´óµÄ¹ØÏµÐÍÊý¾Ý¿âÖÎÀíϵͳ £¬Ö§³ÖSQL³ß¶È¼°À©´ó £¬¿í·ºÀûÓÃÓÚÆóÒµ¼¶ÀûÓá£Ëü¾ß±¸¸ß¿¿µÃסÐÔ¡¢¿ÉÀ©´óÐÔ¡¢Êý¾ÝÆëÈ«ÐԺͲ¢·¢½ÚÔìÖ°ÄÜ £¬Ö§³Ö¶àÖÖ±à³Ì˵»°ºÍÀ©´ó»úÔì¡£PostgreSQLµÄÌØµãÔ̺¬ACIDÊÂÎñÖ§³Ö¡¢¸´ÔÓ²éÎÊÓÅ»¯¡¢JSONÊý¾ÝÀàÐÍ´¦Öá¢È«ÎÄËÑË÷µÈ¡£ËüºÏÓÃÓÚ´ÓÓ×ÐÍÀûÓõ½´óÐÍÊý¾Ý²Ö¿âµÄ¸÷Àೡ¾°¡£


2025Äê2ÔÂ21ÈÕ £¬GA»Æ½ð¼×¼¯ÍÅVSRC¼à²âµ½PostgreSQL°ä²¼Á˹ØÓÚCVE-2025-1094·ì϶µÄ°²È«²¼¸æ¡£²¼¸æÖ¸³ö £¬PostgreSQLµÄlibpqº¯Êý£¨ÈçPQescapeLiteral()¡¢PQescapeIdentifier()¡¢PQescapeString()ºÍPQescapeStringConn()£©ÔÚijЩʹÓÃģʽÏÂδÄÜÕýÈ·´¦ÖÃÒýºÅÓï·¨ £¬¿ÉÄܵ¼ÖÂSQL×¢Èë·ì϶¡£¹¥»÷ÕßÄܹ»Í¨¹ý»ú¹Ø¶ñÒâÊäÈë £¬ÀûÓÃÕâЩº¯ÊýµÄ·µ»ØÁ˾ÖÔÚPostgreSQL½»»¥ÖÕ¶ËpsqlÖÐÖ´ÐжñÒâSQLÓï¾ä¡£´Ë±í £¬PostgreSQLºÅÁîÐй¤¾ßÔÚÌØ¶¨×Ö·û±àÂë»·¾³Ï£¨Èçclient_encodingΪBIG5¡¢server_encodingΪEUC_TW»òMULE_INTERNALʱ£©Ò²¿ÉÄÜÊܵ½ÀàËÆSQL×¢Èë¹¥»÷µÄÍþв¡£¸Ã·ì϶µÄCVSSÆÀ·ÖΪ8.1·Ö £¬·ì϶µÈ¼¶Îª¸ßΣ¡£


¶þ¡¢Ó°ÏìÁìÓò


17 <= PostgreSQL < 17.3
16 <= PostgreSQL < 16.7
15 <= PostgreSQL < 15.11
14 <= PostgreSQL < 14.16
13 <= PostgreSQL < 13.19


Èý¡¢°²È«´ëÊ©


3.1 Éý¼¶°æ±¾


¹Ù·½ÒÑÓÚ2025Äê2ÔÂ13ÈÕ°ä²¼Á˽¨¸´²¹¶¡ £¬½¨ÒéÊÜÓ°Ïì°æ±¾µÄÓû§¾¡¿ì½øÐÐÉý¼¶¡£¾ßÌ彨¸´°æ±¾ÈçÏ£º

PostgreSQL 17ÒÑÔÚ17.3°æ±¾Öн¨¸´¸Ã·ì϶
PostgreSQL 16ÒÑÔÚ16.7°æ±¾Öн¨¸´¸Ã·ì϶
PostgreSQL 15ÒÑÔÚ15.11°æ±¾Öн¨¸´¸Ã·ì϶
PostgreSQL 14ÒÑÔÚ14.16°æ±¾Öн¨¸´¸Ã·ì϶
PostgreSQL 13ÒÑÔÚ13.19°æ±¾Öн¨¸´¸Ã·ì϶


ÏÂÔØÁ´½Ó£º

https://github.com/postgres/postgres/tags/


3.2 һʱ´ëÊ©


? ʹÓòÎÊý»¯²éÎÊ»òÔ¤±àÒëÓï¾ä £¬Ô¤·ÀÖ±½ÓÆ´½ÓÓû§ÊäÈë¡£
ÑϸñÑéÖ¤²¢¹ýÂËÓû§ÊäÈë £¬Ô¤·À¶ñÒâ×Ö·û¡£
ÏÞ¶ÈÊý¾Ý¿âÓû§È¨ÏÞ £¬È·±£×îµÍ±ØÒªÈ¨ÏÞ¡£


3.4 ²Î¿¼Á´½Ó


https://www.postgresql.org/support/security/CVE-2025-1094/
https://www.postgresql.org/support/security/CVE-2025-1094
https://nvd.nist.gov/vuln/detail/CVE-2025-1094