lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <c84cc27c1a5031a003039748c3c099732a718aec.camel@kernel.org>
Date:   Thu, 22 Sep 2022 08:19:14 -0400
From:   Jeff Layton <jlayton@...nel.org>
To:     bpf@...r.kernel.org
Cc:     linux-kernel <linux-kernel@...r.kernel.org>
Subject: CPA refuse W^X violation in  linux-next kernel

(sorry for the resend, but I missed the subject line and I wanted to
make sure this was seen)

Got a reproducible panic at boot today with a linux-next kernel. I have
some patches on top linux-next, but nothing that should affect things at this
level. The host is a QEMU/KVM VM running Fedora 36. Kconfig is attached:

[    2.353769] systemd[1]: Hostname set to <iversion>.
[    2.413012] ------------[ cut here ]------------
[    2.413761] CPA refuse W^X violation: 8000000000000163 -> 0000000000000163 range: 0xffffffffc04ff000 - 0xffffffffc04fffff PFN 108686
[    2.415382] WARNING: CPU: 2 PID: 1 at arch/x86/mm/pat/set_memory.c:600 __change_page_attr_set_clr+0x100b/0x1050
[    2.416838] Modules linked in:
[    2.417349] CPU: 2 PID: 1 Comm: systemd Not tainted 6.0.0-rc6-next-20220921+ #26
[    2.418430] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.0-1.fc36 04/01/2014
[    2.419671] RIP: 0010:__change_page_attr_set_clr+0x100b/0x1050
[    2.420503] Code: 8b 44 24 20 48 89 f2 4d 89 f1 48 89 ee 48 c7 c7 f8 14 3a b1 c6 05 ed 22 c1 01 01 4c 8d 80 ff 0f 00 00 48 89 c1 e8 65 1f a8 00 <0f> 0b e9 f6 fc ff ff 80 3d d1 22 c1 01 00 0f 85 6e f8 ff ff 48 89
[    2.422998] RSP: 0018:ffffb94ec0013b20 EFLAGS: 00010282
[    2.423762] RAX: 0000000000000078 RBX: 0000000108686163 RCX: 0000000000000000
[    2.424745] RDX: 0000000000000002 RSI: 00000000ffffdfff RDI: 00000000ffffffff
[    2.425729] RBP: 8000000000000163 R08: 0000000000000000 R09: ffffb94ec00139d8
[    2.426731] R10: 0000000000000003 R11: ffffffffb1b45448 R12: 8000000108686163
[    2.427731] R13: 0000000000000000 R14: 0000000000108686 R15: 8000000000000000
[    2.428730] FS:  00007f85928f0b40(0000) GS:ffff968f37c80000(0000) knlGS:0000000000000000
[    2.431729] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    2.432555] CR2: 00007f85923ed000 CR3: 000000010095e000 CR4: 00000000003506e0
[    2.433572] Call Trace:
[    2.434060]  <TASK>
[    2.434461]  ? __purge_vmap_area_lazy+0x34e/0x700
[    2.435177]  ? _vm_unmap_aliases.part.0+0xff/0x130
[    2.435907]  change_page_attr_set_clr+0x10f/0x190
[    2.436625]  set_memory_x+0x37/0x50
[    2.437190]  bpf_trampoline_update+0x23c/0x5b0
[    2.437866]  __bpf_trampoline_link_prog+0xd0/0x1b0
[    2.438594]  bpf_trampoline_link_prog+0x26/0x40
[    2.439312]  bpf_tracing_prog_attach+0x31e/0x4b0
[    2.440017]  __sys_bpf+0x171/0x2c20
[    2.440577]  ? ttwu_queue_wakelist+0xbf/0x110
[    2.441246]  ? _raw_spin_unlock_irqrestore+0x23/0x40
[    2.441990]  ? try_to_wake_up+0x83/0x570
[    2.442677]  ? insert_work+0x46/0xc0
[    2.443579]  ? _raw_spin_unlock+0x15/0x30
[    2.444455]  __x64_sys_bpf+0x1a/0x30
[    2.445041]  do_syscall_64+0x3a/0x90
[    2.447104]  entry_SYSCALL_64_after_hwframe+0x63/0xcd
[    2.447842] RIP: 0033:0x7f859340ef3d
[    2.448411] Code: 5d c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 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 73 01 c3 48 8b 0d b3 ce 0e 00 f7 d8 64 89 01 48
[    2.451106] RSP: 002b:00007ffe34d26688 EFLAGS: 00000246 ORIG_RAX: 0000000000000141
[    2.452405] RAX: ffffffffffffffda RBX: 0000556f6d038600 RCX: 00007f859340ef3d
[    2.453567] RDX: 0000000000000090 RSI: 00007ffe34d26690 RDI: 0000000000000011
[    2.454560] RBP: 000000000000000e R08: 00007ffe34d2659c R09: 0000000000000000
[    2.455549] R10: 0000000000000000 R11: 0000000000000246 R12: 0000556f6d03c4b0
[    2.456539] R13: 00007ffe34d26840 R14: 0000556f6c5f2e8f R15: 0000556f6c5d407b
[    2.457528]  </TASK>
[    2.457935] ---[ end trace 0000000000000000 ]---
[    2.718704] systemd[1]: LSM BPF program attached
[    2.719654] kernel tried to execute NX-protected page - exploit attempt? (uid: 0)
[    2.722000] BUG: unable to handle page fault for address: ffffffffc0501000
[    2.724425] #PF: supervisor instruction fetch in kernel mode
[    2.726420] #PF: error_code(0x0011) - permissions violation
[    2.728392] PGD 7a15067 P4D 7a15067 PUD 7a17067 PMD 100c40067 PTE 80000001086ae163
[    2.731936] Oops: 0011 [#1] PREEMPT SMP NOPTI
[    2.733243] CPU: 2 PID: 1 Comm: systemd Tainted: G        W          6.0.0-rc6-next-20220921+ #26
[    2.736361] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.0-1.fc36 04/01/2014
[    2.739401] RIP: 0010:bpf_trampoline_6442483261_0+0x0/0x1000
[    2.741421] Code: Unable to access opcode bytes at RIP 0xffffffffc0500fd6.
[    2.743635] RSP: 0018:ffffb94ec0013cd8 EFLAGS: 00010282
[    2.745434] RAX: ffffffffb0291390 RBX: ffffffffb14ba010 RCX: ffff968dc0218f78
[    2.747998] RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff968dc0960f00
[    2.750765] RBP: ffff968dc0960f00 R08: ffffffffb26670c0 R09: 0000000000000000
[    2.753079] R10: 0000000000000007 R11: 0000000000000000 R12: ffffb94ec0013eec
[    2.755455] R13: 0000000000000000 R14: ffff968dc0960f10 R15: ffff968dc0960f00
[    2.758095] FS:  00007f85928f0b40(0000) GS:ffff968f37c80000(0000) knlGS:0000000000000000
[    2.761972] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    2.763221] CR2: ffffffffc0500fd6 CR3: 000000010095e000 CR4: 00000000003506e0
[    2.764564] Call Trace:
[    2.765146]  <TASK>
[    2.765664]  ? bpf_lsm_file_open+0x5/0x10
[    2.766513]  ? security_file_open+0x2c/0x50
[    2.767451]  ? do_dentry_open+0xf8/0x410
[    2.768183]  ? path_openat+0xc43/0x1360
[    2.768889]  ? __cgroup_account_cputime+0x4c/0x70
[    2.769723]  ? do_filp_open+0xa1/0x130
[    2.770452]  ? __check_object_size+0x1e6/0x200
[    2.771287]  ? _raw_spin_unlock+0x15/0x30
[    2.772064]  ? do_sys_openat2+0x7c/0x130
[    2.772782]  ? __x64_sys_openat+0x5c/0x80
[    2.773537]  ? do_syscall_64+0x3a/0x90
[    2.774251]  ? entry_SYSCALL_64_after_hwframe+0x63/0xcd
[    2.775193]  </TASK>
[    2.775668] Modules linked in:
[    2.776288] CR2: ffffffffc0501000
[    2.776924] ---[ end trace 0000000000000000 ]---
[    2.777750] RIP: 0010:bpf_trampoline_6442483261_0+0x0/0x1000
[    2.778748] Code: Unable to access opcode bytes at RIP 0xffffffffc0500fd6.
[    2.779889] RSP: 0018:ffffb94ec0013cd8 EFLAGS: 00010282
[    2.780807] RAX: ffffffffb0291390 RBX: ffffffffb14ba010 RCX: ffff968dc0218f78
[    2.782093] RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff968dc0960f00
[    2.783321] RBP: ffff968dc0960f00 R08: ffffffffb26670c0 R09: 0000000000000000
[    2.784537] R10: 0000000000000007 R11: 0000000000000000 R12: ffffb94ec0013eec
[    2.785731] R13: 0000000000000000 R14: ffff968dc0960f10 R15: ffff968dc0960f00
[    2.786762] FS:  00007f85928f0b40(0000) GS:ffff968f37c80000(0000) knlGS:0000000000000000
[    2.787918] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    2.788744] CR2: ffffffffc0500fd6 CR3: 000000010095e000 CR4: 00000000003506e0
[    2.789843] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009
[    2.792032] Kernel Offset: 0x2f000000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)
[    2.793568] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009 ]---


-- 
Jeff Layton <jlayton@...nel.org>

Download attachment "config.gz" of type "application/gzip" (37522 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ