Linux 커널에서는 다음 취약점이 해결되었습니다. bpf: BPF_END 값 추적을 위한 레지스터 ID 재설정 레지스터가 BPF_END(바이트 스왑) 작업을 수행할 때 해당 스칼라는 값이 내부에서 변경되었습니다. 이 레지스터가 이전에 스칼라 ID를 공유한 경우 다른 레지스터와 함께(예: `r1 = r0` 할당 후) 이 연결은 다음과 같아야 합니다. 부서지다. 현재 검증자는 BPF_END에 대해 `dst_reg->id`를 0으로 재설정하는 것을 놓치고 있습니다. 결과적으로 조건부 점프가 교환된 레지스터를 확인하는 경우 확인하다
Linux 커널에서는 다음 취약점이 해결되었습니다.
bpf: BPF_END 값 추적을 위한 레지스터 ID 재설정
레지스터가 BPF_END(바이트 스왑) 작업을 수행할 때 해당 스칼라는
값이 내부에서 변경되었습니다. 이 레지스터가 이전에 스칼라 ID를 공유한 경우
다른 레지스터와 함께(예: r1 = r0 할당 후) 이 연결은 다음과 같아야 합니다.
부서지다.
현재 검증자는 BPF_END에 대해 dst_reg->id를 0으로 재설정하는 것을 놓치고 있습니다.
결과적으로 조건부 점프가 교환된 레지스터를 확인하는 경우
검증자가 학습된 경계를 연결된 레지스터에 잘못 전파합니다.
연결된 레지스터의 값에 대한 잘못된 신뢰로 이어지며 잠재적으로
범위를 벗어난 메모리 액세스를 허용합니다.
BPF_END 사례에서 dst_reg->id를 명시적으로 0으로 재설정하여 이 문제를 해결하세요.
BPF_NEG가 이를 처리하는 방법과 유사하게 스칼라 타이를 끊습니다.
__mark_reg_known.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 78.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 78.00 |
VPI 공식 vpi-v1 기준