]> git.ipfire.org Git - thirdparty/iptables.git/commit
iptables: Fix crash on malformed iptables-restore
authorOliver Ford <ojford@gmail.com>
Fri, 19 May 2017 12:02:26 +0000 (12:02 +0000)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 29 May 2017 11:42:23 +0000 (13:42 +0200)
commitf8e5ebc5986bffa682ed9e4497e3c19f19bf961e
tree84e7838b63a8f4132fa6803d698b3c049f7c5721
parent80d8bfaac9e2430d710084a10ec78e68bd61e6ec
iptables: Fix crash on malformed iptables-restore

Fixes the crash reported in Bugzilla #1131 where a malformed parameter that
specifies the table option during a restore can create an invalid pointer.
It was discovered during fuzz testing that options like '-ftf'
can cause a segfault. A parameter that includes a 't' is not currently
filtered correctly.

Improves the filtering to:
Filter a beginning '-' followed by a character other than '-' and then a 't'
anywhere in the parameter. This filters parameters like '-ftf'.
Filter '--t'.
Filter '--table', stopping when the parameter length is reached. Because the
getopt_long function allows abbreviations, any unique abbreviation of '--table'
will be treated as '--table'. This filters parameters like '--t', '--ta', but not
'--ttl' or '--target'.

Signed-off-by: Oliver Ford <ojford@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
iptables/ip6tables-restore.c
iptables/iptables-restore.c
iptables/iptables-xml.c
iptables/xtables-restore.c