CVE-2025-37921 (GCVE-0-2025-37921)
Vulnerability from cvelistv5
Published
2025-05-20 15:21
Modified
2025-05-26 05:23
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: vxlan: vnifilter: Fix unlocked deletion of default FDB entry When a VNI is deleted from a VXLAN device in 'vnifilter' mode, the FDB entry associated with the default remote (assuming one was configured) is deleted without holding the hash lock. This is wrong and will result in a warning [1] being generated by the lockdep annotation that was added by commit ebe642067455 ("vxlan: Create wrappers for FDB lookup"). Reproducer: # ip link add vx0 up type vxlan dstport 4789 external vnifilter local 192.0.2.1 # bridge vni add vni 10010 remote 198.51.100.1 dev vx0 # bridge vni del vni 10010 dev vx0 Fix by acquiring the hash lock before the deletion and releasing it afterwards. Blame the original commit that introduced the issue rather than the one that exposed it. [1] WARNING: CPU: 3 PID: 392 at drivers/net/vxlan/vxlan_core.c:417 vxlan_find_mac+0x17f/0x1a0 [...] RIP: 0010:vxlan_find_mac+0x17f/0x1a0 [...] Call Trace: <TASK> __vxlan_fdb_delete+0xbe/0x560 vxlan_vni_delete_group+0x2ba/0x940 vxlan_vni_del.isra.0+0x15f/0x580 vxlan_process_vni_filter+0x38b/0x7b0 vxlan_vnifilter_process+0x3bb/0x510 rtnetlink_rcv_msg+0x2f7/0xb70 netlink_rcv_skb+0x131/0x360 netlink_unicast+0x426/0x710 netlink_sendmsg+0x75a/0xc20 __sock_sendmsg+0xc1/0x150 ____sys_sendmsg+0x5aa/0x7b0 ___sys_sendmsg+0xfc/0x180 __sys_sendmsg+0x121/0x1b0 do_syscall_64+0xbb/0x1d0 entry_SYSCALL_64_after_hwframe+0x4b/0x53
Impacted products
Vendor Product Version
Linux Linux Version: f9c4bb0b245cee35ef66f75bf409c9573d934cf9
Version: f9c4bb0b245cee35ef66f75bf409c9573d934cf9
Version: f9c4bb0b245cee35ef66f75bf409c9573d934cf9
Version: f9c4bb0b245cee35ef66f75bf409c9573d934cf9
Version: f9c4bb0b245cee35ef66f75bf409c9573d934cf9
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/vxlan/vxlan_vnifilter.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "2d4a121296aa3940d2df9906f955c2b6b4e38bc3",
              "status": "affected",
              "version": "f9c4bb0b245cee35ef66f75bf409c9573d934cf9",
              "versionType": "git"
            },
            {
              "lessThan": "3576e9a80b6c4381b01ce0cbaa07f5e92d4492ed",
              "status": "affected",
              "version": "f9c4bb0b245cee35ef66f75bf409c9573d934cf9",
              "versionType": "git"
            },
            {
              "lessThan": "5cb9e07f84e527974b12e82e2549fa6c0cc6eef0",
              "status": "affected",
              "version": "f9c4bb0b245cee35ef66f75bf409c9573d934cf9",
              "versionType": "git"
            },
            {
              "lessThan": "470206205588559e60035fceb5f256640cb45f99",
              "status": "affected",
              "version": "f9c4bb0b245cee35ef66f75bf409c9573d934cf9",
              "versionType": "git"
            },
            {
              "lessThan": "087a9eb9e5978e3ba362e1163691e41097e8ca20",
              "status": "affected",
              "version": "f9c4bb0b245cee35ef66f75bf409c9573d934cf9",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/vxlan/vxlan_vnifilter.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.18"
            },
            {
              "lessThan": "5.18",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.138",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.90",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.28",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.14.*",
              "status": "unaffected",
              "version": "6.14.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.15",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.138",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.90",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.28",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.14.6",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.15",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nvxlan: vnifilter: Fix unlocked deletion of default FDB entry\n\nWhen a VNI is deleted from a VXLAN device in \u0027vnifilter\u0027 mode, the FDB\nentry associated with the default remote (assuming one was configured)\nis deleted without holding the hash lock. This is wrong and will result\nin a warning [1] being generated by the lockdep annotation that was\nadded by commit ebe642067455 (\"vxlan: Create wrappers for FDB lookup\").\n\nReproducer:\n\n # ip link add vx0 up type vxlan dstport 4789 external vnifilter local 192.0.2.1\n # bridge vni add vni 10010 remote 198.51.100.1 dev vx0\n # bridge vni del vni 10010 dev vx0\n\nFix by acquiring the hash lock before the deletion and releasing it\nafterwards. Blame the original commit that introduced the issue rather\nthan the one that exposed it.\n\n[1]\nWARNING: CPU: 3 PID: 392 at drivers/net/vxlan/vxlan_core.c:417 vxlan_find_mac+0x17f/0x1a0\n[...]\nRIP: 0010:vxlan_find_mac+0x17f/0x1a0\n[...]\nCall Trace:\n \u003cTASK\u003e\n __vxlan_fdb_delete+0xbe/0x560\n vxlan_vni_delete_group+0x2ba/0x940\n vxlan_vni_del.isra.0+0x15f/0x580\n vxlan_process_vni_filter+0x38b/0x7b0\n vxlan_vnifilter_process+0x3bb/0x510\n rtnetlink_rcv_msg+0x2f7/0xb70\n netlink_rcv_skb+0x131/0x360\n netlink_unicast+0x426/0x710\n netlink_sendmsg+0x75a/0xc20\n __sock_sendmsg+0xc1/0x150\n ____sys_sendmsg+0x5aa/0x7b0\n ___sys_sendmsg+0xfc/0x180\n __sys_sendmsg+0x121/0x1b0\n do_syscall_64+0xbb/0x1d0\n entry_SYSCALL_64_after_hwframe+0x4b/0x53"
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-05-26T05:23:45.706Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/2d4a121296aa3940d2df9906f955c2b6b4e38bc3"
        },
        {
          "url": "https://git.kernel.org/stable/c/3576e9a80b6c4381b01ce0cbaa07f5e92d4492ed"
        },
        {
          "url": "https://git.kernel.org/stable/c/5cb9e07f84e527974b12e82e2549fa6c0cc6eef0"
        },
        {
          "url": "https://git.kernel.org/stable/c/470206205588559e60035fceb5f256640cb45f99"
        },
        {
          "url": "https://git.kernel.org/stable/c/087a9eb9e5978e3ba362e1163691e41097e8ca20"
        }
      ],
      "title": "vxlan: vnifilter: Fix unlocked deletion of default FDB entry",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-37921",
    "datePublished": "2025-05-20T15:21:50.410Z",
    "dateReserved": "2025-04-16T04:51:23.968Z",
    "dateUpdated": "2025-05-26T05:23:45.706Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-37921\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-05-20T16:15:28.713\",\"lastModified\":\"2025-05-21T20:25:16.407\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nvxlan: vnifilter: Fix unlocked deletion of default FDB entry\\n\\nWhen a VNI is deleted from a VXLAN device in \u0027vnifilter\u0027 mode, the FDB\\nentry associated with the default remote (assuming one was configured)\\nis deleted without holding the hash lock. This is wrong and will result\\nin a warning [1] being generated by the lockdep annotation that was\\nadded by commit ebe642067455 (\\\"vxlan: Create wrappers for FDB lookup\\\").\\n\\nReproducer:\\n\\n # ip link add vx0 up type vxlan dstport 4789 external vnifilter local 192.0.2.1\\n # bridge vni add vni 10010 remote 198.51.100.1 dev vx0\\n # bridge vni del vni 10010 dev vx0\\n\\nFix by acquiring the hash lock before the deletion and releasing it\\nafterwards. Blame the original commit that introduced the issue rather\\nthan the one that exposed it.\\n\\n[1]\\nWARNING: CPU: 3 PID: 392 at drivers/net/vxlan/vxlan_core.c:417 vxlan_find_mac+0x17f/0x1a0\\n[...]\\nRIP: 0010:vxlan_find_mac+0x17f/0x1a0\\n[...]\\nCall Trace:\\n \u003cTASK\u003e\\n __vxlan_fdb_delete+0xbe/0x560\\n vxlan_vni_delete_group+0x2ba/0x940\\n vxlan_vni_del.isra.0+0x15f/0x580\\n vxlan_process_vni_filter+0x38b/0x7b0\\n vxlan_vnifilter_process+0x3bb/0x510\\n rtnetlink_rcv_msg+0x2f7/0xb70\\n netlink_rcv_skb+0x131/0x360\\n netlink_unicast+0x426/0x710\\n netlink_sendmsg+0x75a/0xc20\\n __sock_sendmsg+0xc1/0x150\\n ____sys_sendmsg+0x5aa/0x7b0\\n ___sys_sendmsg+0xfc/0x180\\n __sys_sendmsg+0x121/0x1b0\\n do_syscall_64+0xbb/0x1d0\\n entry_SYSCALL_64_after_hwframe+0x4b/0x53\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: vxlan: vnifilter: Se corrige la eliminaci\u00f3n desbloqueada de la entrada FDB predeterminada. Cuando se elimina una VNI de un dispositivo VXLAN en modo \u0027vnifilter\u0027, la entrada FDB asociada al control remoto predeterminado (si se configur\u00f3 uno) se elimina sin mantener el bloqueo hash. Esto es incorrecto y generar\u00e1 una advertencia [1] generada por la anotaci\u00f3n lockdep, a\u00f1adida por el commit ebe642067455 (\\\"vxlan: Crear envoltorios para la b\u00fasqueda FDB\\\"). Reproductor: # ip link add vx0 up type vxlan dstport 4789 external vnifilter local 192.0.2.1 # bridge vni add vni 10010 remote 198.51.100.1 dev vx0 # bridge vni del vni 10010 dev vx0 Se corrige adquiriendo el bloqueo hash antes de la eliminaci\u00f3n y liber\u00e1ndolo despu\u00e9s. Culpe a el commit original que introdujo el problema en lugar de a la que lo expuso. [1] ADVERTENCIA: CPU: 3 PID: 392 en drivers/net/vxlan/vxlan_core.c:417 vxlan_find_mac+0x17f/0x1a0 [...] RIP: 0010:vxlan_find_mac+0x17f/0x1a0 [...] Rastreo de llamadas:  __vxlan_fdb_delete+0xbe/0x560 vxlan_vni_delete_group+0x2ba/0x940 vxlan_vni_del.isra.0+0x15f/0x580 vxlan_process_vni_filter+0x38b/0x7b0 vxlan_vnifilter_process+0x3bb/0x510 rtnetlink_rcv_msg+0x2f7/0xb70 netlink_rcv_skb+0x131/0x360 netlink_unicast+0x426/0x710 netlink_sendmsg+0x75a/0xc20 __sock_sendmsg+0xc1/0x150 ____sys_sendmsg+0x5aa/0x7b0 ___sys_sendmsg+0xfc/0x180 __sys_sendmsg+0x121/0x1b0 do_syscall_64+0xbb/0x1d0 entry_SYSCALL_64_after_hwframe+0x4b/0x53 \"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/087a9eb9e5978e3ba362e1163691e41097e8ca20\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/2d4a121296aa3940d2df9906f955c2b6b4e38bc3\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/3576e9a80b6c4381b01ce0cbaa07f5e92d4492ed\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/470206205588559e60035fceb5f256640cb45f99\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/5cb9e07f84e527974b12e82e2549fa6c0cc6eef0\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…