[LTS 9.2] CVE-2023-4206, CVE-2023-4207, CVE-2023-4208 #158
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
[LTS 9.2]
CVE-2023-4206 VULN-6649
CVE-2023-4207 VULN-6656
CVE-2023-4208 VULN-6663
Problem
The PR addresses a series of related CVEs, which were once listed under a single CVE-2023-4128. From https://lore.kernel.org/netdev/[email protected]/:
Each CVE is related to a different classifier:
Analysis and solution
Official fixes
The official fixes for each of the vulnerabilities are as follows:
Applicability
The CVE-2023-4206 is not applicable to the LTS 9.2 from the configuration standpoint, as the
route4
classifier is disabled by default. Other CVEs are applicable.Analysis
For the discussion of the validity of a fix based on simply ignoring a certain field while copying a data structure where the actual copy may be expected see analysis for LTS 8.6 RT Pull Request - it was not repeated for the LTS 9.2 version. (Note that the doubts raised there about keeping
tcindex
filter don't apply to this version as this filter is disabled in LTS 9.2 configuration.)kABI check
Boot test: passed
boot-test.log
Kselftests: passed relative
Methodology
A mix of
kernel-selftests-internal
and source-compiled tests were used:kernel-selftests-internal
:bpf
tests, except:bpf:test_kmod.sh
: takes very long time to finish and always fails anyway,bpf:test_progs
: unstable, can crash the machine,bpf:test_progs-no_alu32
: unstable, can crash the machine.Coverage
bpf
,breakpoints
,capabilities
,clone3
,core
,cpu-hotplug
,cpufreq
,drivers/dma-buf
,drivers/net/bonding
,drivers/net/team
,efivarfs
,filesystems
,filesystems/binderfs
,filesystems/epoll
,firmware
,fpu
,ftrace
,futex
,gpio
,intel_pstate
,ipc
,ir
,kcmp
,kvm
,landlock
,lib
,livepatch
,membarrier
,memfd
,memory-hotplug
,mincore
,mount
,mqueue
,nci
,net
,net/forwarding
,net/mptcp
,netfilter
,nsfs
,openat2
,pid_namespace
,pidfd
,pstore
,ptrace
,rlimits
,rseq
,rtc
,seccomp
,sgx
,sigaltstack
,size
,splice
,static_keys
,sync
,syscall_user_dispatch
,sysctl
,tc-testing
,tdx
,timens
,timers
,tmpfs
,tpm2
,user
,vDSO
,vm
,x86
,zram
Reference
Three test runs were conducted on the reference kernel.
kselftests–mix–ciqlts9_2–run1.log
kselftests–mix–ciqlts9_2–run2.log
kselftests–mix–ciqlts9_2–run3.log
Patch
Two test runs were conducted on the patched kernel.
kselftests–mix–ciqlts9_2-CVE-2023-4206.4207.4208–run1.log
kselftests–mix–ciqlts9_2-CVE-2023-4206.4207.4208–run2.log
Comparison
Of the differing results the tests
net:gro.sh
,net:txtimestamp.sh
,rtc:rtctest
were known to give inconsistent results before.The
timers:raw_skew
test was skipped in the reference test suite due to some external interferenceKselftests (networking): passed relative
Methodology
In general kselftests all the
net/forwarding
tests fail (really should be skipped) because of the missing tool dependenciesBecause the patch deals with networking specifically, an additional batch of tests was carried out after solving the test requirements issues.
The
tools/testing/selftests/net/forwarding/forwarding.config
file used was created directly from thetools/testing/selftests/net/forwarding/forwarding.config.sample
.Reference
Three test runs were conducted on the reference kernel.
kselftests-net-forwarding–src–ciqlts9_2–run1.log
kselftests-net-forwarding–src–ciqlts9_2–run2.log
kselftests-net-forwarding–src–ciqlts9_2–run3.log
Patch
A single test run was conducted on the patched kernel.
kselftests-net-forwarding–src–ciqlts9_2-CVE-2023-4206.4207.4208–run1.log
Comparison and discussion
Results for the reference and patched kernel are the same.
The list of
net/forwarding
tests performed is not exhaustive (66 / 92). Thenet/forwarding:sch_ets.sh
test executed right afternet/forwarding:router_vid_1.sh
causes the machine to hang for more than 10 minutes and the used testing framework interrupts the test suite.The fix for the problem was deferred to another CVE for the sake of patching efficiency.