¡¾Îó²îͨ¸æ¡¿Linux Kernel RDSÁ㿽±´Ë«ÖØÊÍ·ÅÍâµØÈ¨ÏÞÌáÉýÎó²î

Ðû²¼Ê±¼ä 2026-05-20

Ò»¡¢Îó²î¸ÅÊö



0520Îó²î¸ÅÊö.png


Linux KernelÊÇLinux²Ù×÷ϵͳ½¹µã×é¼þ£¬ÈÏÕæÀú³Ìµ÷Àí¡¢ÄÚ´æ¹ÜÀí¡¢ÍøÂçͨѶ¼°Ó²¼þ×ÊÔ´¿ØÖÆ¡£RDS(Remote Direct Memory Access Socket)ÊÇLinuxÄÚºËÖеĸßÐÔÄÜÍøÂçͨѶЭÒé×é¼þ£¬Ö§³ÖµÍÑÓ³ÙÊý¾Ý´«Ê䣬ÆÕ±éÓ¦ÓÃÓÚ¸ßÐÔÄÜÅÌËã¡¢Êý¾Ý¿â¼°ÆóÒµ·þÎñÆ÷ÇéÐΡ£io_uringÔòÊÇLinuxÌṩµÄ¸ßÐÔÄÜÒì²½I/O¿ò¼Ü£¬ÓÃÓÚÌáÉýÎļþÓëÍøÂçI/O´¦Öóͷ£Ð§ÂÊ¡£


2026Äê5ÔÂ20ÈÕ£¬×ðÁú¿­¹ÙÍøÈë¿ÚÇå¾²Ó¦¼±ÏìÓ¦ÖÐÐÄ£¨VSRC£©¼à²âµ½Linux Kernel RDSÁ㿽±´Ë«ÖØÊÍ·ÅÍâµØÈ¨ÏÞÌáÉýÎó²î¡£¸ÃÎó²îÔ´ÓÚrds_message_zcopy_from_user()º¯ÊýÔÚzerocopy·¢ËÍʧ°Ü·¾¶ÖУ¬Î´×¼È·ÕûÀíop_nents×ֶΣ¬µ¼ÖÂÒ³ÃæÒýÓüÆÊý´¦Öóͷ£Òì³££¬Òý·¢Ë«ÖØÊÍ·ÅÎÊÌâ¡£¹¥»÷Õß¿ÉÍŽáio_uringÀο¿»º³åÇø»úÖÆ£¬Í¨¹ý½á¹¹Ê§°ÜµÄRDS zerocopy·¢ËÍÇëÇó£¬Öð²½ÇÔÈ¡Ò³ÃæÒýÓüÆÊý²¢´¥·¢page cacheÁýÕÖ£¬×îÖÕÁýÕÖSUID-root¶þ½øÖÆÎļþÄÚÈÝ£¬ÊµÏÖÍâµØÌáȨ²¢»ñÈ¡rootȨÏÞ¡£¸ÃÎó²îʹÓÃÁ´ÎÞÐèÌØÊâCapabilities£¬ÔÚÆôÓÃCONFIG_RDS¡¢CONFIG_RDS_TCP¼°CONFIG_IO_URINGµÄϵͳÖÐΣº¦½Ï¸ß£¬¿ÉÄܵ¼ÖÂÖ÷»úÍêȫʧÏÝ¡£



¶þ¡¢Ó°Ïì¹æÄ£



¸ÃÎó²îÓ°Ïì°üÀ¨RDS zerocopy Tx support¹¦Ð§£¬ÇÒÆôÓÃCONFIG_RDS¡¢CONFIG_RDS_TCP¼°CONFIG_IO_URINGÉèÖõÄLinux Kernel°æ±¾¡£¹ûÕæÐÅÏ¢ÏÔʾ£¬Îó²îÓÉÌá½»0cebaccef3ac ("rds: zerocopy Tx support.")ÒýÈ룬ÏêϸÊÜÓ°Ïì°æ±¾¹æÄ£ÔÝδÔÚ¹Ù·½Í¨¸æÖÐÃ÷ȷ˵Ã÷¡£ÒÑÖªArch LinuxĬÈÏÆôÓÃÁËÏà¹ØRDSÄ £¿é£¬Fedora²¿·ÖÇéÐÎÒà¿ÉÄÜÊÜÓ°Ï죻DebianÓëUbuntuÔòĬÈÏͨ¹ýblacklist»úÖÆÏÞÖÆRDSÄ £¿é×Ô¶¯¼ÓÔØ£¬¿ÉÔÚÒ»¶¨Ë®Æ½ÉϽµµÍÎó²îʹÓÃΣº¦¡£±ðµÄ£¬ÏµÍ³ÐèÖª×ãio_uring_disabled=0ÇÒ±£´æ¿É¶ÁSUID-root¶þ½øÖÆÎļþµÈÌõ¼þ£¬¹¥»÷Õß·½¿ÉÍê³ÉÍêÕûÍâµØÌáȨʹÓÃÁ´¡£



Èý¡¢Çå¾²²½·¥



3.1 Éý¼¶°æ±¾


¹Ù·½ÒÑÐû²¼ÐÞ¸´²¹¶¡£¬ÒÔÐÞ¸´¸ÃÎó²î¡£


ÏÂÔØÁ´½Ó£º

https://lore.kernel.org/netdev/20260505234336.2132721-1-achender@kernel.org/¡£


3.2 ÔÝʱ²½·¥


ÔÝÎÞ¡£


3.3 ͨÓý¨Òé


°´ÆÚ¸üÐÂϵͳ²¹¶¡£¬ïÔ̭ϵͳÎó²î£¬ÌáÉý·þÎñÆ÷µÄÇå¾²ÐÔ¡£


ÔöǿϵͳºÍÍøÂçµÄ»á¼û¿ØÖÆ£¬Ð޸ķÀ»ðǽսÂÔ£¬¹Ø±Õ·ÇÐëÒªµÄÓ¦Óö˿ڻò·þÎñ£¬ïÔÌ­½«Î£ÏÕ·þÎñ£¨ÈçSSH¡¢RDPµÈ£©Ì»Â¶µ½¹«Íø£¬ïÔÌ­¹¥»÷Ãæ¡£

ʹÓÃÆóÒµ¼¶Çå¾²²úÆ·£¬ÌáÉýÆóÒµµÄÍøÂçÇå¾²ÐÔÄÜ¡£


ÔöǿϵͳÓû§ºÍȨÏÞ¹ÜÀí£¬ÆôÓöàÒòËØÈÏÖ¤»úÖÆºÍ×îСȨÏÞÔ­Ôò£¬Óû§ºÍÈí¼þȨÏÞÓ¦¼á³ÖÔÚ×îµÍÏÞ¶È¡£

ÆôÓÃÇ¿ÃÜÂëÕ½ÂÔ²¢ÉèÖÃΪ°´ÆÚÐ޸ġ£


3.4 ²Î¿¼Á´½Ó


https://raw.githubusercontent.com/v12-security/pocs/09e835b587bf71249775654061ae4c79e92cf430/pintheft/poc.c/

https://lore.kernel.org/netdev/20260505234336.2132721-1-achender@kernel.org/

https://seclists.org/oss-sec/2026/q2/605