* general protection fault in nft_parse_register
@ 2020-01-18 8:25 syzbot
2020-01-18 10:27 ` [PATCH nf] netfilter: nft_osf: add missing check for DREG attribute Florian Westphal
0 siblings, 1 reply; 4+ messages in thread
From: syzbot @ 2020-01-18 8:25 UTC (permalink / raw)
To: coreteam, davem, fw, kadlec, linux-kernel, netdev,
netfilter-devel, pablo, syzkaller-bugs
Hello,
syzbot found the following crash on:
HEAD commit: 5a9ef194 net: systemport: Fixed queue mapping in internal ..
git tree: net
console output: https://syzkaller.appspot.com/x/log.txt?x=156724c9e00000
kernel config: https://syzkaller.appspot.com/x/.config?x=7e89bd00623fe71e
dashboard link: https://syzkaller.appspot.com/bug?extid=cf23983d697c26c34f60
compiler: gcc (GCC) 9.0.0 20181231 (experimental)
Unfortunately, I don't have any reproducer for this crash yet.
IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+cf23983d697c26c34f60@syzkaller.appspotmail.com
kasan: CONFIG_KASAN_INLINE enabled
kasan: GPF could be caused by NULL-ptr deref or user memory access
general protection fault: 0000 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 30417 Comm: syz-executor.2 Not tainted 5.5.0-rc5-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:nla_get_be32 include/net/netlink.h:1483 [inline]
RIP: 0010:nft_parse_register+0x24/0x90 net/netfilter/nf_tables_api.c:7576
Code: ff ff ff eb d8 90 55 48 89 e5 41 54 53 48 89 fb e8 91 50 10 fb 48 8d 7b 04 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <0f> b6 14 02 48 89 f8 83 e0 07 83 c0 03 38 d0 7c 04 84 d2 75 47 8b
RSP: 0018:ffffc900087bf380 EFLAGS: 00010247
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffc9000ded3000
RDX: 0000000000000000 RSI: ffffffff8664a4ff RDI: 0000000000000004
RBP: ffffc900087bf390 R08: ffff88805b34a5c0 R09: ffffed1015d2703d
R10: ffffed1015d2703c R11: ffff8880ae9381e3 R12: ffff8880a072da98
R13: ffffc900087bf498 R14: 0000000000000000 R15: dffffc0000000000
FS: 00007f4ff3b5a700(0000) GS:ffff8880ae800000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000000075c000 CR3: 000000009d23d000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
nft_osf_init+0x1b7/0x280 net/netfilter/nft_osf.c:78
nf_tables_newexpr net/netfilter/nf_tables_api.c:2478 [inline]
nf_tables_newrule+0xd96/0x2400 net/netfilter/nf_tables_api.c:3086
nfnetlink_rcv_batch+0xf42/0x17a0 net/netfilter/nfnetlink.c:433
nfnetlink_rcv_skb_batch net/netfilter/nfnetlink.c:543 [inline]
nfnetlink_rcv+0x3e7/0x460 net/netfilter/nfnetlink.c:561
netlink_unicast_kernel net/netlink/af_netlink.c:1302 [inline]
netlink_unicast+0x58c/0x7d0 net/netlink/af_netlink.c:1328
netlink_sendmsg+0x91c/0xea0 net/netlink/af_netlink.c:1917
sock_sendmsg_nosec net/socket.c:639 [inline]
sock_sendmsg+0xd7/0x130 net/socket.c:659
____sys_sendmsg+0x753/0x880 net/socket.c:2330
___sys_sendmsg+0x100/0x170 net/socket.c:2384
__sys_sendmsg+0x105/0x1d0 net/socket.c:2417
__do_sys_sendmsg net/socket.c:2426 [inline]
__se_sys_sendmsg net/socket.c:2424 [inline]
__x64_sys_sendmsg+0x78/0xb0 net/socket.c:2424
do_syscall_64+0xfa/0x790 arch/x86/entry/common.c:294
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x45aff9
Code: ad b6 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 7b b6 fb ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007f4ff3b59c78 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 00007f4ff3b5a6d4 RCX: 000000000045aff9
RDX: 0000000000000000 RSI: 00000000200000c0 RDI: 0000000000000003
RBP: 000000000075bf20 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff
R13: 0000000000000901 R14: 00000000004ca2fe R15: 000000000075bf2c
Modules linked in:
---[ end trace a22f7f52a398972c ]---
RIP: 0010:nla_get_be32 include/net/netlink.h:1483 [inline]
RIP: 0010:nft_parse_register+0x24/0x90 net/netfilter/nf_tables_api.c:7576
Code: ff ff ff eb d8 90 55 48 89 e5 41 54 53 48 89 fb e8 91 50 10 fb 48 8d 7b 04 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <0f> b6 14 02 48 89 f8 83 e0 07 83 c0 03 38 d0 7c 04 84 d2 75 47 8b
RSP: 0018:ffffc900087bf380 EFLAGS: 00010247
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffc9000ded3000
RDX: 0000000000000000 RSI: ffffffff8664a4ff RDI: 0000000000000004
RBP: ffffc900087bf390 R08: ffff88805b34a5c0 R09: ffffed1015d2703d
R10: ffffed1015d2703c R11: ffff8880ae9381e3 R12: ffff8880a072da98
R13: ffffc900087bf498 R14: 0000000000000000 R15: dffffc0000000000
FS: 00007f4ff3b5a700(0000) GS:ffff8880ae900000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f6efdf3a518 CR3: 000000009d23d000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
---
This bug is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.
syzbot will keep track of this bug report. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH nf] netfilter: nft_osf: add missing check for DREG attribute
2020-01-18 8:25 general protection fault in nft_parse_register syzbot
@ 2020-01-18 10:27 ` Florian Westphal
2020-01-18 11:21 ` Fernando Fernández Mancera
2020-01-18 20:19 ` Pablo Neira Ayuso
0 siblings, 2 replies; 4+ messages in thread
From: Florian Westphal @ 2020-01-18 10:27 UTC (permalink / raw)
To: netfilter-devel
Cc: syzkaller-bugs, Florian Westphal, syzbot+cf23983d697c26c34f60
syzbot reports just another NULL deref crash because of missing test
for presence of the attribute.
Reported-by: syzbot+cf23983d697c26c34f60@syzkaller.appspotmail.com
Fixes: b96af92d6eaf9fadd ("netfilter: nf_tables: implement Passive OS fingerprint module in nft_osf")
Signed-off-by: Florian Westphal <fw@strlen.de>
---
net/netfilter/nft_osf.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/net/netfilter/nft_osf.c b/net/netfilter/nft_osf.c
index f54d6ae15bb1..b42247aa48a9 100644
--- a/net/netfilter/nft_osf.c
+++ b/net/netfilter/nft_osf.c
@@ -61,6 +61,9 @@ static int nft_osf_init(const struct nft_ctx *ctx,
int err;
u8 ttl;
+ if (!tb[NFTA_OSF_DREG])
+ return -EINVAL;
+
if (tb[NFTA_OSF_TTL]) {
ttl = nla_get_u8(tb[NFTA_OSF_TTL]);
if (ttl > 2)
--
2.24.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH nf] netfilter: nft_osf: add missing check for DREG attribute
2020-01-18 10:27 ` [PATCH nf] netfilter: nft_osf: add missing check for DREG attribute Florian Westphal
@ 2020-01-18 11:21 ` Fernando Fernández Mancera
2020-01-18 20:19 ` Pablo Neira Ayuso
1 sibling, 0 replies; 4+ messages in thread
From: Fernando Fernández Mancera @ 2020-01-18 11:21 UTC (permalink / raw)
To: Florian Westphal, netfilter-devel
Cc: syzkaller-bugs, syzbot+cf23983d697c26c34f60
El 18 de enero de 2020 11:27:25 CET, Florian Westphal <fw@strlen.de> escribió:
>syzbot reports just another NULL deref crash because of missing test
>for presence of the attribute.
>
>Reported-by: syzbot+cf23983d697c26c34f60@syzkaller.appspotmail.com
>Fixes: b96af92d6eaf9fadd ("netfilter: nf_tables: implement Passive OS
>fingerprint module in nft_osf")
>Signed-off-by: Florian Westphal <fw@strlen.de>
>---
> net/netfilter/nft_osf.c | 3 +++
> 1 file changed, 3 insertions(+)
>
>diff --git a/net/netfilter/nft_osf.c b/net/netfilter/nft_osf.c
>index f54d6ae15bb1..b42247aa48a9 100644
>--- a/net/netfilter/nft_osf.c
>+++ b/net/netfilter/nft_osf.c
>@@ -61,6 +61,9 @@ static int nft_osf_init(const struct nft_ctx *ctx,
> int err;
> u8 ttl;
>
>+ if (!tb[NFTA_OSF_DREG])
>+ return -EINVAL;
>+
> if (tb[NFTA_OSF_TTL]) {
> ttl = nla_get_u8(tb[NFTA_OSF_TTL]);
> if (ttl > 2)
Oops. Sorry about that. Thanks Florian!
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH nf] netfilter: nft_osf: add missing check for DREG attribute
2020-01-18 10:27 ` [PATCH nf] netfilter: nft_osf: add missing check for DREG attribute Florian Westphal
2020-01-18 11:21 ` Fernando Fernández Mancera
@ 2020-01-18 20:19 ` Pablo Neira Ayuso
1 sibling, 0 replies; 4+ messages in thread
From: Pablo Neira Ayuso @ 2020-01-18 20:19 UTC (permalink / raw)
To: Florian Westphal
Cc: netfilter-devel, syzkaller-bugs, syzbot+cf23983d697c26c34f60
On Sat, Jan 18, 2020 at 11:27:25AM +0100, Florian Westphal wrote:
> syzbot reports just another NULL deref crash because of missing test
> for presence of the attribute.
Applied, thanks Florian.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-01-18 20:19 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-18 8:25 general protection fault in nft_parse_register syzbot
2020-01-18 10:27 ` [PATCH nf] netfilter: nft_osf: add missing check for DREG attribute Florian Westphal
2020-01-18 11:21 ` Fernando Fernández Mancera
2020-01-18 20:19 ` Pablo Neira Ayuso
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.