diff options
author | Gustavo A. R. Silva <gustavo@embeddedor.com> | 2018-12-21 14:49:01 -0600 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-12-22 15:06:17 -0800 |
commit | 50d5258634aee2e62832aa086d2fb0de00e72b91 (patch) | |
tree | fb5bd2cf4c54555cf4ab87797dd956aa811106f6 /kernel | |
parent | 6cafab50eea327e0d198cc9579a60440fc959756 (diff) | |
download | linux-50d5258634aee2e62832aa086d2fb0de00e72b91.tar.bz2 |
net: core: Fix Spectre v1 vulnerability
flen is indirectly controlled by user-space, hence leading to
a potential exploitation of the Spectre variant 1 vulnerability.
This issue was detected with the help of Smatch:
net/core/filter.c:1101 bpf_check_classic() warn: potential spectre issue 'filter' [w]
Fix this by sanitizing flen before using it to index filter at line 1101:
switch (filter[flen - 1].code) {
and through pc at line 1040:
const struct sock_filter *ftest = &filter[pc];
Notice that given that speculation windows are large, the policy is
to kill the speculation on the first load and not worry if it can be
completed with a dependent load/store [1].
[1] https://marc.info/?l=linux-kernel&m=152449131114778&w=2
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions