¡¾Îó²îͨ¸æ¡¿Linux Kernel RDSÁ㿽±´Ë«ÖØÊÍ·ÅÍâµØÈ¨ÏÞÌáÉýÎó²î
Ðû²¼Ê±¼ä 2026-05-20Ò»¡¢Îó²î¸ÅÊö

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


¾©¹«Íø°²±¸11010802024551ºÅ