GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2022-49959 (GCVE-0-2022-49959)

Vulnerability from cvelistv5 – Published: 2025-06-18 11:00 – Updated: 2026-05-11 19:09
VLAI
Title
openvswitch: fix memory leak at failed datapath creation
Summary
In the Linux kernel, the following vulnerability has been resolved: openvswitch: fix memory leak at failed datapath creation ovs_dp_cmd_new()->ovs_dp_change()->ovs_dp_set_upcall_portids() allocates array via kmalloc. If for some reason new_vport() fails during ovs_dp_cmd_new() dp->upcall_portids must be freed. Add missing kfree. Kmemleak example: unreferenced object 0xffff88800c382500 (size 64): comm "dump_state", pid 323, jiffies 4294955418 (age 104.347s) hex dump (first 32 bytes): 5e c2 79 e4 1f 7a 38 c7 09 21 38 0c 80 88 ff ff ^.y..z8..!8..... 03 00 00 00 0a 00 00 00 14 00 00 00 28 00 00 00 ............(... backtrace: [<0000000071bebc9f>] ovs_dp_set_upcall_portids+0x38/0xa0 [<000000000187d8bd>] ovs_dp_change+0x63/0xe0 [<000000002397e446>] ovs_dp_cmd_new+0x1f0/0x380 [<00000000aa06f36e>] genl_family_rcv_msg_doit+0xea/0x150 [<000000008f583bc4>] genl_rcv_msg+0xdc/0x1e0 [<00000000fa10e377>] netlink_rcv_skb+0x50/0x100 [<000000004959cece>] genl_rcv+0x24/0x40 [<000000004699ac7f>] netlink_unicast+0x23e/0x360 [<00000000c153573e>] netlink_sendmsg+0x24e/0x4b0 [<000000006f4aa380>] sock_sendmsg+0x62/0x70 [<00000000d0068654>] ____sys_sendmsg+0x230/0x270 [<0000000012dacf7d>] ___sys_sendmsg+0x88/0xd0 [<0000000011776020>] __sys_sendmsg+0x59/0xa0 [<000000002e8f2dc1>] do_syscall_64+0x3b/0x90 [<000000003243e7cb>] entry_SYSCALL_64_after_hwframe+0x63/0xcd
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: b83d23a2a38b1770da0491257ae81d52307f7816 , < ca54b2bfaab385778e55a9fd33f6c31e7f743b48 (git)
Affected: b83d23a2a38b1770da0491257ae81d52307f7816 , < c0c1c0241917459644326a1a3102207c871ae159 (git)
Affected: b83d23a2a38b1770da0491257ae81d52307f7816 , < a87406f4adee9c53b311d8a1ba2849c69e29a6d0 (git)
guessed Create a notification for this product.
Linux Linux Affected: 5.15
Unaffected: 0 , < 5.15 (semver)
Unaffected: 5.15.66 , ≤ 5.15.* (semver)
Unaffected: 5.19.8 , ≤ 5.19.* (semver)
Unaffected: 6.0 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/openvswitch/datapath.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "ca54b2bfaab385778e55a9fd33f6c31e7f743b48",
              "status": "affected",
              "version": "b83d23a2a38b1770da0491257ae81d52307f7816",
              "versionType": "git"
            },
            {
              "lessThan": "c0c1c0241917459644326a1a3102207c871ae159",
              "status": "affected",
              "version": "b83d23a2a38b1770da0491257ae81d52307f7816",
              "versionType": "git"
            },
            {
              "lessThan": "a87406f4adee9c53b311d8a1ba2849c69e29a6d0",
              "status": "affected",
              "version": "b83d23a2a38b1770da0491257ae81d52307f7816",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/openvswitch/datapath.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.15"
            },
            {
              "lessThan": "5.15",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.66",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.19.*",
              "status": "unaffected",
              "version": "5.19.8",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.0",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.66",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.19.8",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.0",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nopenvswitch: fix memory leak at failed datapath creation\n\novs_dp_cmd_new()-\u003eovs_dp_change()-\u003eovs_dp_set_upcall_portids()\nallocates array via kmalloc.\nIf for some reason new_vport() fails during ovs_dp_cmd_new()\ndp-\u003eupcall_portids must be freed.\nAdd missing kfree.\n\nKmemleak example:\nunreferenced object 0xffff88800c382500 (size 64):\n  comm \"dump_state\", pid 323, jiffies 4294955418 (age 104.347s)\n  hex dump (first 32 bytes):\n    5e c2 79 e4 1f 7a 38 c7 09 21 38 0c 80 88 ff ff  ^.y..z8..!8.....\n    03 00 00 00 0a 00 00 00 14 00 00 00 28 00 00 00  ............(...\n  backtrace:\n    [\u003c0000000071bebc9f\u003e] ovs_dp_set_upcall_portids+0x38/0xa0\n    [\u003c000000000187d8bd\u003e] ovs_dp_change+0x63/0xe0\n    [\u003c000000002397e446\u003e] ovs_dp_cmd_new+0x1f0/0x380\n    [\u003c00000000aa06f36e\u003e] genl_family_rcv_msg_doit+0xea/0x150\n    [\u003c000000008f583bc4\u003e] genl_rcv_msg+0xdc/0x1e0\n    [\u003c00000000fa10e377\u003e] netlink_rcv_skb+0x50/0x100\n    [\u003c000000004959cece\u003e] genl_rcv+0x24/0x40\n    [\u003c000000004699ac7f\u003e] netlink_unicast+0x23e/0x360\n    [\u003c00000000c153573e\u003e] netlink_sendmsg+0x24e/0x4b0\n    [\u003c000000006f4aa380\u003e] sock_sendmsg+0x62/0x70\n    [\u003c00000000d0068654\u003e] ____sys_sendmsg+0x230/0x270\n    [\u003c0000000012dacf7d\u003e] ___sys_sendmsg+0x88/0xd0\n    [\u003c0000000011776020\u003e] __sys_sendmsg+0x59/0xa0\n    [\u003c000000002e8f2dc1\u003e] do_syscall_64+0x3b/0x90\n    [\u003c000000003243e7cb\u003e] entry_SYSCALL_64_after_hwframe+0x63/0xcd"
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-05-11T19:09:59.282Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/ca54b2bfaab385778e55a9fd33f6c31e7f743b48"
        },
        {
          "url": "https://git.kernel.org/stable/c/c0c1c0241917459644326a1a3102207c871ae159"
        },
        {
          "url": "https://git.kernel.org/stable/c/a87406f4adee9c53b311d8a1ba2849c69e29a6d0"
        }
      ],
      "title": "openvswitch: fix memory leak at failed datapath creation",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-49959",
    "datePublished": "2025-06-18T11:00:20.749Z",
    "dateReserved": "2025-06-18T10:57:27.383Z",
    "dateUpdated": "2026-05-11T19:09:59.282Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2022-49959",
      "date": "2026-09-15",
      "epss": "0.00174",
      "percentile": "0.07047"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2022-49959\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-06-18T11:15:23.127\",\"lastModified\":\"2026-06-17T05:19:37.580\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nopenvswitch: fix memory leak at failed datapath creation\\n\\novs_dp_cmd_new()-\u003eovs_dp_change()-\u003eovs_dp_set_upcall_portids()\\nallocates array via kmalloc.\\nIf for some reason new_vport() fails during ovs_dp_cmd_new()\\ndp-\u003eupcall_portids must be freed.\\nAdd missing kfree.\\n\\nKmemleak example:\\nunreferenced object 0xffff88800c382500 (size 64):\\n  comm \\\"dump_state\\\", pid 323, jiffies 4294955418 (age 104.347s)\\n  hex dump (first 32 bytes):\\n    5e c2 79 e4 1f 7a 38 c7 09 21 38 0c 80 88 ff ff  ^.y..z8..!8.....\\n    03 00 00 00 0a 00 00 00 14 00 00 00 28 00 00 00  ............(...\\n  backtrace:\\n    [\u003c0000000071bebc9f\u003e] ovs_dp_set_upcall_portids+0x38/0xa0\\n    [\u003c000000000187d8bd\u003e] ovs_dp_change+0x63/0xe0\\n    [\u003c000000002397e446\u003e] ovs_dp_cmd_new+0x1f0/0x380\\n    [\u003c00000000aa06f36e\u003e] genl_family_rcv_msg_doit+0xea/0x150\\n    [\u003c000000008f583bc4\u003e] genl_rcv_msg+0xdc/0x1e0\\n    [\u003c00000000fa10e377\u003e] netlink_rcv_skb+0x50/0x100\\n    [\u003c000000004959cece\u003e] genl_rcv+0x24/0x40\\n    [\u003c000000004699ac7f\u003e] netlink_unicast+0x23e/0x360\\n    [\u003c00000000c153573e\u003e] netlink_sendmsg+0x24e/0x4b0\\n    [\u003c000000006f4aa380\u003e] sock_sendmsg+0x62/0x70\\n    [\u003c00000000d0068654\u003e] ____sys_sendmsg+0x230/0x270\\n    [\u003c0000000012dacf7d\u003e] ___sys_sendmsg+0x88/0xd0\\n    [\u003c0000000011776020\u003e] __sys_sendmsg+0x59/0xa0\\n    [\u003c000000002e8f2dc1\u003e] do_syscall_64+0x3b/0x90\\n    [\u003c000000003243e7cb\u003e] entry_SYSCALL_64_after_hwframe+0x63/0xcd\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: openvswitch: se corrige una fuga de memoria al crear una ruta de datos fallida. ovs_dp_cmd_new()-\u0026gt;ovs_dp_change()-\u0026gt;ovs_dp_set_upcall_portids() asigna una matriz mediante kmalloc. Si por alguna raz\u00f3n new_vport() falla durante ovs_dp_cmd_new(), se debe liberar dp-\u0026gt;upcall_portids. Se a\u00f1ade la falta de kfree. Ejemplo de Kmemleak: objeto sin referencia 0xffff88800c382500 (tama\u00f1o 64): comm \\\"dump_state\\\", pid 323, jiffies 4294955418 (edad 104.347s) volcado hexadecimal (primeros 32 bytes): 5e c2 79 e4 1f 7a 38 c7 09 21 38 0c 80 88 ff ff ^.y..z8..!8..... 03 00 00 00 0a 00 00 00 14 00 00 00 28 00 00 00 ............(...  backtrace: [\u0026lt;0000000071bebc9f\u0026gt;] ovs_dp_set_upcall_portids+0x38/0xa0 [\u0026lt;000000000187d8bd\u0026gt;] ovs_dp_change+0x63/0xe0 [\u0026lt;000000002397e446\u0026gt;] ovs_dp_cmd_new+0x1f0/0x380 [\u0026lt;00000000aa06f36e\u0026gt;] genl_family_rcv_msg_doit+0xea/0x150 [\u0026lt;000000008f583bc4\u0026gt;] genl_rcv_msg+0xdc/0x1e0 [\u0026lt;00000000fa10e377\u0026gt;] netlink_rcv_skb+0x50/0x100 [\u0026lt;000000004959cece\u0026gt;] genl_rcv+0x24/0x40 [\u0026lt;000000004699ac7f\u0026gt;] netlink_unicast+0x23e/0x360 [\u0026lt;00000000c153573e\u0026gt;] netlink_sendmsg+0x24e/0x4b0 [\u0026lt;000000006f4aa380\u0026gt;] sock_sendmsg+0x62/0x70 [\u0026lt;00000000d0068654\u0026gt;] ____sys_sendmsg+0x230/0x270 [\u0026lt;0000000012dacf7d\u0026gt;] ___sys_sendmsg+0x88/0xd0 [\u0026lt;0000000011776020\u0026gt;] __sys_sendmsg+0x59/0xa0 [\u0026lt;000000002e8f2dc1\u0026gt;] do_syscall_64+0x3b/0x90 [\u0026lt;000000003243e7cb\u0026gt;] entry_SYSCALL_64_after_hwframe+0x63/0xcd \"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"net/openvswitch/datapath.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"b83d23a2a38b1770da0491257ae81d52307f7816\",\"lessThan\":\"ca54b2bfaab385778e55a9fd33f6c31e7f743b48\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"b83d23a2a38b1770da0491257ae81d52307f7816\",\"lessThan\":\"c0c1c0241917459644326a1a3102207c871ae159\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"b83d23a2a38b1770da0491257ae81d52307f7816\",\"lessThan\":\"a87406f4adee9c53b311d8a1ba2849c69e29a6d0\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"net/openvswitch/datapath.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.15\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.15\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.66\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.19.8\",\"lessThanOrEqual\":\"5.19.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.0\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-401\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.15\",\"versionEndExcluding\":\"5.15.66\",\"matchCriteriaId\":\"92264A00-0618-4F99-926E-A01E06AFEBEC\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.16\",\"versionEndExcluding\":\"5.19.8\",\"matchCriteriaId\":\"7FEC7656-4CE2-424C-8830-EDB160E701C8\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.0:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"E8BD11A3-8643-49B6-BADE-5029A0117325\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.0:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"5F0AD220-F6A9-4012-8636-155F1B841FAD\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.0:rc3:*:*:*:*:*:*\",\"matchCriteriaId\":\"A46498B3-78E1-4623-AAE1-94D29A42BE4E\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/a87406f4adee9c53b311d8a1ba2849c69e29a6d0\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/c0c1c0241917459644326a1a3102207c871ae159\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/ca54b2bfaab385778e55a9fd33f6c31e7f743b48\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Low",
      "current_release_date": "2026-06-30T10:38:10+00:00",
      "cve": "CVE-2022-49959",
      "id": "CVE-2022-49959",
      "initial_release_date": "2022-01-01T00:00:00+00:00",
      "product_status:fixed": "321",
      "product_status:known_affected": "80",
      "product_status:known_not_affected": "76",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: openvswitch: fix memory leak at failed datapath creation",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2022/cve-2022-49959.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "low",
      "current_release_date": "2026-08-31T01:27:40Z",
      "cve": "CVE-2022-49959",
      "id": "CVE-2022-49959",
      "initial_release_date": "2025-06-19T03:45:33Z",
      "product_status:known_not_affected": "509",
      "product_status:recommended": "47",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2022-49959",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2022-49959.json",
      "version": "12"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…