Linux 커널에서는 다음 취약점이 해결되었습니다. mptcp: mptcp_recvmsg()의 소프트 잠금 수정 syzbot이 mptcp_recvmsg() [0]에서 소프트 잠금을 보고했습니다. MSG_PEEK로 데이터를 수신하는 경우 | MSG_WAITALL 플래그, skb는 그렇지 않습니다. sk_receive_queue에서 제거되었습니다. 이로 인해 sk_wait_data()는 항상 사용 가능한 데이터를 찾고 실제 대기를 수행하지 마십시오. 잠금. 마지막으로 본 skb를 추적하려면 'last' 매개변수를 추가하여 이 문제를 해결하세요. 이를 통해 sk_wait_data()가 정보를 얻을 수 있습니다.
Linux 커널에서는 다음 취약점이 해결되었습니다.
mptcp: mptcp_recvmsg()의 소프트 잠금 수정
syzbot이 mptcp_recvmsg() [0]에서 소프트 잠금을 보고했습니다.
MSG_PEEK로 데이터를 수신하는 경우 | MSG_WAITALL 플래그, skb는 그렇지 않습니다. sk_receive_queue에서 제거되었습니다. 이로 인해 sk_wait_data()는 항상 사용 가능한 데이터를 찾고 실제 대기를 수행하지 마십시오. 잠금.
마지막으로 본 skb를 추적하려면 'last' 매개변수를 추가하여 이 문제를 해결하세요. 이를 통해 sk_wait_data()는 정보를 바탕으로 대기 결정을 내리고 MSG_PEEK를 사용하면 무한 루프가 발생합니다.
[0]: watchdog: 버그: 소프트 잠금 - CPU#2가 156초 동안 멈췄습니다! [서버:1963] 링크된 모듈: CPU: 2 UID: 0 PID: 1963 통신: 서버 오염되지 않음 6.19.0-rc8 #61 PREEMPT(없음) 하드웨어 이름: QEMU 표준 PC(i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 RIP: 0010:sk_wait_data+0x15/0x190 코드: 80 00 00 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 41 56 41 55 41 54 49 89 f4 55 48 89 d5 53 48 89 fb <48> 83 ec 30 65 48 8b 05 17 a4 6b 01 48 89 44 24 28 31 c0 65 48 8b RSP: 0018:ffffc90000603ca0 EFLAGS: 00000246 RAX: 0000000000000000 RBX: ffff888102bf0800 RCX: 0000000000000001 RDX: 0000000000000000 RSI: ffffc90000603d18 RDI: ffff888102bf0800 RBP: 0000000000000000 R08: 0000000000000002 R09: 0000000000000101 R10: 0000000000000000 R11: 0000000000000075 R12: ffffc90000603d18 R13: ffff888102bf0800 R14: ffff888102bf0800 R15: 0000000000000000 FS:00007f6e38b8c4c0(0000) GS:ffff8881b877e000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000055aa7bff1680 CR3: 0000000105cbe000 CR4: 00000000000006f0 통화 추적: <과제> mptcp_recvmsg+0x547/0x8c0 net/mptcp/protocol.c:2329 inet_recvmsg+0x11f/0x130 net/ipv4/af_inet.c:891 sock_recvmsg+0x94/0xc0 net/socket.c:1100 __sys_recvfrom+0xb2/0x130 net/socket.c:2256 __x64_sys_recvfrom+0x1f/0x30 net/socket.c:2267 do_syscall_64+0x59/0x2d0 arch/x86/entry/syscall_64.c:94 Entry_SYSCALL_64_after_hwframe+0x76/0x7e Arch/x86/entry/entry_64.S:131 RIP: 0033:0x7f6e386a4a1d 코드: 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 8d 05 f1 de 2c 00 41 89 ca 8b 00 85 c0 75 20 45 31 c9 45 31 c0 b8 2d 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 6b f3 c3 66 0f 1f 84 00 00 00 00 00 41 56 41 RSP: 002b:00007ffc3c4bb078 EFLAGS: 00000246 ORIG_RAX: 000000000000002d RAX: ffffffffffffffda RBX: 000000000000861e RCX: 00007f6e386a4a1d RDX: 00000000000003ff RSI: 00007ffc3c4bb150 RDI: 0000000000000004 RBP: 00007ffc3c4bb570 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000103 R11: 0000000000000246 R12: 00005605dbc00be0 R13: 00007ffc3c4bb650 R14: 0000000000000000 R15: 0000000000000000
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 75.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 75.00 |
VPI 공식 vpi-v1 기준