| Submitter | Patrick McHardy |
|---|---|
| Date | Feb. 16, 2010, 2:56 p.m. |
| Message ID | <20100216145639.2796.91630.sendpatchset@x2.localnet> |
| Download | mbox | patch |
| Permalink | /patch/45500/ |
| State | Accepted |
| Delegated to: | David Miller |
| Headers | show |
Comments
Patch
diff --git a/net/bridge/netfilter/ebtables.c b/net/bridge/netfilter/ebtables.c index bcdf02d..4370e96 100644 --- a/net/bridge/netfilter/ebtables.c +++ b/net/bridge/netfilter/ebtables.c @@ -444,6 +444,8 @@ static int ebt_verify_pointers(const struct ebt_replace *repl, break; if (left < e->next_offset) break; + if (e->next_offset < sizeof(struct ebt_entry)) + return -EINVAL; offset += e->next_offset; } }
commit 1756de262e41112a8a8927808eb2f03d21fd4786 Author: Florian Westphal <fwestphal@astaro.com> Date: Mon Feb 15 18:15:55 2010 +0100 netfilter: ebtables: abort if next_offset is too small next_offset must be > 0, otherwise this loops forever. The offset also contains the size of the ebt_entry structure itself, so anything smaller is invalid. Signed-off-by: Florian Westphal <fwestphal@astaro.com> Signed-off-by: Patrick McHardy <kaber@trash.net> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html