{
  "cveId": "CVE-2021-47563",
  "url": "https://patchblox.com/security/cve/CVE-2021-47563",
  "summary": "CVE-2021-47563 is fixed in linux on 1 platform, first by DEBIAN-CVE-2021-47563, released May 24, 2024. It is not reported as exploited. Patch Radar priority: Routine.",
  "title": "linux: In the Linux kernel, the following vulnerability has been resolved:  ice: avoid bpf_prog refcount underflow  Ice driv...",
  "description": "In the Linux kernel, the following vulnerability has been resolved:  ice: avoid bpf_prog refcount underflow  Ice driver has the routines for managing XDP resources that are shared between ndo_bpf op and VSI rebuild flow. The latter takes place for example when user changes queue count on an interface via ethtool\u0027s set_channels().  There is an issue around the bpf_prog refcounting when VSI is being rebuilt - since ice_prepare_xdp_rings() is called with vsi-\u003Exdp_prog as an argument that is used later on by ice_vsi_assign_bpf_prog(), same bpf_prog pointers are swapped with each other. Then it is also interpreted as an \u0027old_prog\u0027 which in turn causes us to call bpf_prog_put on it that will decrement its refcount.  Below splat can be interpreted in a way that due to zero refcount of a bpf_prog it is wiped out from the system while kernel still tries to refer to it:  [  481.069429] BUG: unable to handle page fault for address: ffffc9000640f038 [  481.077390] #PF: supervisor read access in kernel mode [  481.083335] #PF: error_code(0x0000) - not-present page [  481.089276] PGD 100000067 P4D 100000067 PUD 1001cb067 PMD 106d2b067 PTE 0 [  481.097141] Oops: 0000 [#1] PREEMPT SMP PTI [  481.101980] CPU: 12 PID: 3339 Comm: sudo Tainted: G           OE     5.15.0-rc5\u002B #1 [  481.110840] Hardware name: Intel Corp. GRANTLEY/GRANTLEY, BIOS GRRFCRB1.86B.0276.D07.1605190235 05/19/2016 [  481.122021] RIP: 0010:dev_xdp_prog_id\u002B0x25/0x40 [  481.127265] Code: 80 00 00 00 00 0f 1f 44 00 00 89 f6 48 c1 e6 04 48 01 fe 48 8b 86 98 08 00 00 48 85 c0 74 13 48 8b 50 18 31 c0 48 85 d2 74 07 \u003C48\u003E 8b 42 38 8b 40 20 c3 48 8b 96 90 08 00 00 eb e8 66 2e 0f 1f 84 [  481.148991] RSP: 0018:ffffc90007b63868 EFLAGS: 00010286 [  481.155034] RAX: 0000000000000000 RBX: ffff889080824000 RCX: 0000000000000000 [  481.163278] RDX: ffffc9000640f000 RSI: ffff889080824010 RDI: ffff889080824000 [  481.171527] RBP: ffff888107af7d00 R08: 0000000000000000 R09: ffff88810db5f6e0 [  481.179776] R10: 0000000000000000 R11: ffff8890885b9988 R12: ffff88810db5f4bc [  481.188026] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 [  481.196276] FS:  00007f5466d5bec0(0000) GS:ffff88903fb00000(0000) knlGS:0000000000000000 [  481.205633] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [  481.212279] CR2: ffffc9000640f038 CR3: 000000014429c006 CR4: 00000000003706e0 [  481.220530] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [  481.228771] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [  481.237029] Call Trace: [  481.239856]  rtnl_fill_ifinfo\u002B0x768/0x12e0 [  481.244602]  rtnl_dump_ifinfo\u002B0x525/0x650 [  481.249246]  ? __alloc_skb\u002B0xa5/0x280 [  481.253484]  netlink_dump\u002B0x168/0x3c0 [  481.257725]  netlink_recvmsg\u002B0x21e/0x3e0 [  481.262263]  ____sys_recvmsg\u002B0x87/0x170 [  481.266707]  ? __might_fault\u002B0x20/0x30 [  481.271046]  ? _copy_from_user\u002B0x66/0xa0 [  481.275591]  ? iovec_from_user\u002B0xf6/0x1c0 [  481.280226]  ___sys_recvmsg\u002B0x82/0x100 [  481.284566]  ? sock_sendmsg\u002B0x5e/0x60 [  481.288791]  ? __sys_sendto\u002B0xee/0x150 [  481.293129]  __sys_recvmsg\u002B0x56/0xa0 [  481.297267]  do_syscall_64\u002B0x3b/0xc0 [  481.301395]  entry_SYSCALL_64_after_hwframe\u002B0x44/0xae [  481.307238] RIP: 0033:0x7f5466f39617 [  481.311373] Code: 0c 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb bd 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 2f 00 00 00 0f 05 \u003C48\u003E 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 89 54 24 1c 48 89 74 24 10 [  481.342944] RSP: 002b:00007ffedc7f4308 EFLAGS: 00000246 ORIG_RAX: 000000000000002f [  481.361783] RAX: ffffffffffffffda RBX: 00007ffedc7f5460 RCX: 00007f5466f39617 [  481.380278] RDX: 0000000000000000 RSI: 00007ffedc7f5360 RDI: 0000000000000003 [  481.398500] RBP: 00007ffedc7f53f0 R08: 0000000000000000 R09: 000055d556f04d50 [  481.416463] R10: 0000000000000077 R11: 0000000000000246 R12: 00007ffedc7f5360 [  481.434131] R13: 00007ffedc7f5350 R14: 00007ffedc7f5344 R15: 0000000000000e98 [  481.451520] Modules linked in: ice ---truncated---",
  "published": "2024-05-24T15:15:21Z",
  "severity": "medium",
  "cvss": 5.5,
  "cvssVector": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
  "epss": 0.0021,
  "epssPercentile": 0.11211,
  "priority": "Routine",
  "priorityTier": 4,
  "exploited": false,
  "vendorExploited": false,
  "disclosed": false,
  "fixes": [
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 12.15 (bookworm)",
      "fixedVersion": "5.15.15-1",
      "fix": "DEBIAN-CVE-2021-47563",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2021-47563",
      "released": "2024-05-24T15:15:21Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 13.5 (trixie)",
      "fixedVersion": "5.15.15-1",
      "fix": "DEBIAN-CVE-2021-47563",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2021-47563",
      "released": "2024-05-24T15:15:21Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 14",
      "fixedVersion": "5.15.15-1",
      "fix": "DEBIAN-CVE-2021-47563",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2021-47563",
      "released": "2024-05-24T15:15:21Z"
    }
  ],
  "noFixYet": [],
  "dataAsOf": "2026-11-08T13:06:02Z",
  "attribution": {
    "text": "Data: Patchblox Patch Radar",
    "url": "https://patchblox.com/security/patch-radar",
    "terms": "https://patchblox.com/security/patch-radar/use-the-data"
  }
}