Description
In the Linux kernel, the following vulnerability has been resolved: arm64: ptrace: Keep 'orig_x0' in-sync with x0 on syscall entry Commit e057b9477232 ("arm64: syscall: Ensure saved x0 is kept in-sync with tracer updates") attempted to resolve a long-standing issue with syscall entry tracing, where a tracer is able to manipulate the first syscall argument without being subjected to seccomp or audit checking. Unfortunately, that fix was incomplete [1], as it failed to update 'orig_x0' between a tracer updating x0 during a seccomp ptrace exit (SECCOMP_RET_TRACE) and the seccomp filter being re-evaluated. Rather than add hooks to the core seccomp code, instead move the synchronisation code into the ptrace GPR and syscall setting code so that 'orig_x0' is kept up to date with x0 whenever we're stopped on the syscall entry path.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
a5cd110cb8369d6b37ef5ccfe56b3fa1338c9615 to < 332c9c1a148d0425326989c1187face8f6b2a60caffecteda5cd110cb8369d6b37ef5ccfe56b3fa1338c9615 to < ce17c651a90e242ad48df0df89b1e4cebcda5e14affecteda5cd110cb8369d6b37ef5ccfe56b3fa1338c9615 to < e9e2854fcff5733ffc607e8ecc87e0e591ab41fdaffecteda5cd110cb8369d6b37ef5ccfe56b3fa1338c9615 to < f433869f23841a50455c4087d85540d5b4d37cdeaffecteda5cd110cb8369d6b37ef5ccfe56b3fa1338c9615 to < 88b839ce497ccb1ff92f7ae742c78dd2937ba572affected
Linux Linux
Default version status: affected
4.8affected0 to < 4.8unaffected6.6.160 to ≤ 6.6.*unaffected6.12.114 to ≤ 6.12.*unaffected6.18.57 to ≤ 6.18.*unaffected7.2.6 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/332c9c1a148d0425326989c1187face8f6b2a60c ↗
- https://git.kernel.org/stable/c/ce17c651a90e242ad48df0df89b1e4cebcda5e14 ↗
- https://git.kernel.org/stable/c/e9e2854fcff5733ffc607e8ecc87e0e591ab41fd ↗
- https://git.kernel.org/stable/c/f433869f23841a50455c4087d85540d5b4d37cde ↗
- https://git.kernel.org/stable/c/88b839ce497ccb1ff92f7ae742c78dd2937ba572 ↗