diff options
author | Lin Ma <linma@zju.edu.cn> | 2023-07-25 10:33:30 +0800 |
---|---|---|
committer | Martin KaFai Lau <martin.lau@kernel.org> | 2023-07-27 10:07:56 -0700 |
commit | bcc29b7f5af6797702c2306a7aacb831fc5ce9cb (patch) | |
tree | b43e787ddb59ae737914e81c25a40c4cf528818b /kernel | |
parent | aa89592fcb3af8372bd39ff468fdd65477f57201 (diff) | |
download | linux-stable-bcc29b7f5af6797702c2306a7aacb831fc5ce9cb.tar.gz linux-stable-bcc29b7f5af6797702c2306a7aacb831fc5ce9cb.tar.bz2 linux-stable-bcc29b7f5af6797702c2306a7aacb831fc5ce9cb.zip |
bpf: Add length check for SK_DIAG_BPF_STORAGE_REQ_MAP_FD parsing
The nla_for_each_nested parsing in function bpf_sk_storage_diag_alloc
does not check the length of the nested attribute. This can lead to an
out-of-attribute read and allow a malformed nlattr (e.g., length 0) to
be viewed as a 4 byte integer.
This patch adds an additional check when the nlattr is getting counted.
This makes sure the latter nla_get_u32 can access the attributes with
the correct length.
Fixes: 1ed4d92458a9 ("bpf: INET_DIAG support in bpf_sk_storage")
Suggested-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Lin Ma <linma@zju.edu.cn>
Reviewed-by: Jakub Kicinski <kuba@kernel.org>
Link: https://lore.kernel.org/r/20230725023330.422856-1-linma@zju.edu.cn
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions