Skip to content

net/sched: flower: fix possible OOB write in fl_set_geneve_opt()

Davide Caratti requested to merge dcaratti/centos-stream-9:bz2214029 into main

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2214029
Upstream Status: net.git commit 4d56304e5827
CVE: CVE-2023-35788
Tested: boot-tested only
Conflicts: none

commit 4d56304e5827c8cc8cc18c75343d283af7c4825c
Author: Hangyu Hua hbh25y@gmail.com
Date: Wed May 31 18:28:04 2023 +0800

net/sched: flower: fix possible OOB write in fl_set_geneve_opt()  

If we send two TCA_FLOWER_KEY_ENC_OPTS_GENEVE packets and their total  
size is 252 bytes(key->enc_opts.len = 252) then  
key->enc_opts.len = opt->length = data_len / 4 = 0 when the third  
TCA_FLOWER_KEY_ENC_OPTS_GENEVE packet enters fl_set_geneve_opt. This  
bypasses the next bounds check and results in an out-of-bounds.  

Fixes: 0a6e77784f49 ("net/sched: allow flower to match tunnel options")  
Signed-off-by: Hangyu Hua <hbh25y@gmail.com>  
Reviewed-by: Simon Horman <simon.horman@corigine.com>  
Reviewed-by: Pieter Jansen van Vuuren <pieter.jansen-van-vuuren@amd.com>  
Link: https://lore.kernel.org/r/20230531102805.27090-1-hbh25y@gmail.com  
Signed-off-by: Paolo Abeni <pabeni@redhat.com>  

Signed-off-by: Davide Caratti dcaratti@redhat.com

Merge request reports