Overview
About vulnerability
In the Linux kernel, the following vulnerability has been resolved:
netfilter: conntrack: fix wrong ct->timeout value
(struct nf_conn)->timeout is an interval before the conntrack confirmed. After confirmed, it becomes a timestamp.
It is observed that timeout of an unconfirmed conntrack:
- Set by calling ctnetlink_change_timeout(). As a result,
nfct_time_stampwas wrongly added toct->timeouttwice. - Get by calling ctnetlink_dump_timeout(). As a result,
nfct_time_stampwas wrongly subtracted.
Call Trace:
Separate the 2 cases in:
- Setting
ct->timeoutin __nf_ct_set_timeout(). - Getting
ct->timeoutin ctnetlink_dump_timeout().
Pablo appends:
Update ctnetlink to set up the timeout after the IPS_CONFIRMED flag is set on, otherwise conntrack creation via ctnetlink breaks.
Note that the problem described in this patch occurs since the introduction of the nfnetlink_queue conntrack support, select a sufficiently old Fixes: tag for -stable kernel to pick up this fix.
Details
- Affected product:
- AlmaLinux 9.2 ESU , CentOS 8.4 ELS , CentOS 8.5 ELS , CentOS Stream 8 ELS , Oracle Linux 7 ELS , TuxCare 9.6 ESU , Ubuntu 16.04 ELS , Ubuntu 18.04 ELS , Ubuntu 20.04 ELS
- Affected packages:
- kernel @ 4.18.0 (+9 more)
In the Linux kernel, the following vulnerability has been resolved:
netfilter: conntrack: fix wrong ct->timeout value
(struct nf_conn)->timeout is an interval before the conntrack confirmed. After confirmed, it becomes a timestamp.
It is observed that timeout of an unconfirmed conntrack:
- Set by calling ctnetlink_change_timeout(). As a result,
nfct_time_stampwas wrongly added toct->timeouttwice. - Get by calling ctnetlink_dump_timeout(). As a result,
nfct_time_stampwas wrongly subtracted.
Call Trace:
Separate the 2 cases in:
- Setting
ct->timeoutin __nf_ct_set_timeout(). - Getting
ct->timeoutin ctnetlink_dump_timeout().
Pablo appends:
Update ctnetlink to set up the timeout after the IPS_CONFIRMED flag is set on, otherwise conntrack creation via ctnetlink breaks.
Note that the problem described in this patch occurs since the introduction of the nfnetlink_queue conntrack support, select a sufficiently old Fixes: tag for -stable kernel to pick up this fix.