¡¾·ì϶¹«¸æ¡¿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ÈÕ£¬£¬OG¶«·½Ìü°²È«Ó¦¼±ÏìÓ¦ÖÐÐÄ£¨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ºÅ