CVE-2024-45402 (GCVE-0-2024-45402)

Vulnerability from cvelistv5 – Published: 2024-10-11 14:38 – Updated: 2024-10-15 16:11
VLAI?
Title
Picotls double free
Summary
Picotls is a TLS protocol library that allows users select different crypto backends based on their use case. When parsing a spoofed TLS handshake message, picotls (specifically, bindings within picotls that call the crypto libraries) may attempt to free the same memory twice. This double free occurs during the disposal of multiple objects without any intervening calls to malloc Typically, this triggers the malloc implementation to detect the error and abort the process. However, depending on the internals of malloc and the crypto backend being used, the flaw could potentially lead to a use-after-free scenario, which might allow for arbitrary code execution. The vulnerability is addressed with commit 9b88159ce763d680e4a13b6e8f3171ae923a535d.
CWE
Assigner
Impacted products
Vendor Product Version
h2o picotls Affected: < 9b88159ce763d680e4a13b6e8f3171ae923a535d
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "affected": [
          {
            "cpes": [
              "cpe:2.3:a:h2o_project:picotls:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "product": "picotls",
            "vendor": "h2o_project",
            "versions": [
              {
                "lessThan": "9b88159ce763d680e4a13b6e8f3171ae923a535d",
                "status": "affected",
                "version": "0",
                "versionType": "custom"
              }
            ]
          }
        ],
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-45402",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "yes"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-10-11T14:51:21.382378Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-10-15T16:11:10.181Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "product": "picotls",
          "vendor": "h2o",
          "versions": [
            {
              "status": "affected",
              "version": "\u003c 9b88159ce763d680e4a13b6e8f3171ae923a535d"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "Picotls is a TLS protocol library that allows users select different crypto backends based on their use case. When parsing a spoofed TLS handshake message, picotls (specifically, bindings within picotls that call the crypto libraries) may attempt to free the same memory twice. This double free occurs during the disposal of multiple objects without any intervening calls to malloc Typically, this triggers the malloc implementation to detect the error and abort the process. However, depending on the internals of malloc and the crypto backend being used, the flaw could potentially lead to a use-after-free scenario, which might allow for arbitrary code execution. The vulnerability is addressed with commit 9b88159ce763d680e4a13b6e8f3171ae923a535d."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "HIGH",
            "baseScore": 8.6,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "LOW",
            "integrityImpact": "LOW",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H",
            "version": "3.1"
          }
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-415",
              "description": "CWE-415: Double Free",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2024-10-11T14:38:59.695Z",
        "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "shortName": "GitHub_M"
      },
      "references": [
        {
          "name": "https://github.com/h2o/picotls/security/advisories/GHSA-w7c8-wjx9-vvvv",
          "tags": [
            "x_refsource_CONFIRM"
          ],
          "url": "https://github.com/h2o/picotls/security/advisories/GHSA-w7c8-wjx9-vvvv"
        },
        {
          "name": "https://github.com/h2o/picotls/commit/9b88159ce763d680e4a13b6e8f3171ae923a535d",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/h2o/picotls/commit/9b88159ce763d680e4a13b6e8f3171ae923a535d"
        }
      ],
      "source": {
        "advisory": "GHSA-w7c8-wjx9-vvvv",
        "discovery": "UNKNOWN"
      },
      "title": "Picotls double free"
    }
  },
  "cveMetadata": {
    "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
    "assignerShortName": "GitHub_M",
    "cveId": "CVE-2024-45402",
    "datePublished": "2024-10-11T14:38:59.695Z",
    "dateReserved": "2024-08-28T20:21:32.803Z",
    "dateUpdated": "2024-10-15T16:11:10.181Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "fkie_nvd": {
      "configurations": "[{\"nodes\": [{\"operator\": \"OR\", \"negate\": false, \"cpeMatch\": [{\"vulnerable\": true, \"criteria\": \"cpe:2.3:a:dena:picotls:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"2024-08-12\", \"versionEndExcluding\": \"2024-10-10\", \"matchCriteriaId\": \"C8B44BB8-1995-4076-BA61-135AFD0E512D\"}]}]}]",
      "descriptions": "[{\"lang\": \"en\", \"value\": \"Picotls is a TLS protocol library that allows users select different crypto backends based on their use case. When parsing a spoofed TLS handshake message, picotls (specifically, bindings within picotls that call the crypto libraries) may attempt to free the same memory twice. This double free occurs during the disposal of multiple objects without any intervening calls to malloc Typically, this triggers the malloc implementation to detect the error and abort the process. However, depending on the internals of malloc and the crypto backend being used, the flaw could potentially lead to a use-after-free scenario, which might allow for arbitrary code execution. The vulnerability is addressed with commit 9b88159ce763d680e4a13b6e8f3171ae923a535d.\"}, {\"lang\": \"es\", \"value\": \"Picotls es una librer\\u00eda de protocolo TLS que permite a los usuarios seleccionar diferentes backends criptogr\\u00e1ficos seg\\u00fan su caso de uso. Al analizar un mensaje de protocolo de enlace TLS falsificado, picotls (espec\\u00edficamente, los enlaces dentro de picotls que llaman a las librer\\u00edas criptogr\\u00e1ficas) pueden intentar liberar la misma memoria dos veces. Esta doble liberaci\\u00f3n ocurre durante la eliminaci\\u00f3n de m\\u00faltiples objetos sin ninguna llamada intermedia a malloc. Por lo general, esto activa la implementaci\\u00f3n de malloc para detectar el error y abortar el proceso. Sin embargo, dependiendo de los componentes internos de malloc y el backend criptogr\\u00e1fico que se use, la falla podr\\u00eda potencialmente conducir a un escenario de use-after-free, lo que podr\\u00eda permitir la ejecuci\\u00f3n de c\\u00f3digo arbitrario. La vulnerabilidad se soluciona con el commit 9b88159ce763d680e4a13b6e8f3171ae923a535d.\"}]",
      "id": "CVE-2024-45402",
      "lastModified": "2024-11-12T20:02:56.167",
      "metrics": "{\"cvssMetricV31\": [{\"source\": \"security-advisories@github.com\", \"type\": \"Secondary\", \"cvssData\": {\"version\": \"3.1\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H\", \"baseScore\": 8.6, \"baseSeverity\": \"HIGH\", \"attackVector\": \"NETWORK\", \"attackComplexity\": \"LOW\", \"privilegesRequired\": \"NONE\", \"userInteraction\": \"NONE\", \"scope\": \"UNCHANGED\", \"confidentialityImpact\": \"LOW\", \"integrityImpact\": \"LOW\", \"availabilityImpact\": \"HIGH\"}, \"exploitabilityScore\": 3.9, \"impactScore\": 4.7}, {\"source\": \"nvd@nist.gov\", \"type\": \"Primary\", \"cvssData\": {\"version\": \"3.1\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\", \"baseScore\": 9.8, \"baseSeverity\": \"CRITICAL\", \"attackVector\": \"NETWORK\", \"attackComplexity\": \"LOW\", \"privilegesRequired\": \"NONE\", \"userInteraction\": \"NONE\", \"scope\": \"UNCHANGED\", \"confidentialityImpact\": \"HIGH\", \"integrityImpact\": \"HIGH\", \"availabilityImpact\": \"HIGH\"}, \"exploitabilityScore\": 3.9, \"impactScore\": 5.9}]}",
      "published": "2024-10-11T15:15:04.903",
      "references": "[{\"url\": \"https://github.com/h2o/picotls/commit/9b88159ce763d680e4a13b6e8f3171ae923a535d\", \"source\": \"security-advisories@github.com\", \"tags\": [\"Patch\"]}, {\"url\": \"https://github.com/h2o/picotls/security/advisories/GHSA-w7c8-wjx9-vvvv\", \"source\": \"security-advisories@github.com\", \"tags\": [\"Vendor Advisory\"]}]",
      "sourceIdentifier": "security-advisories@github.com",
      "vulnStatus": "Analyzed",
      "weaknesses": "[{\"source\": \"security-advisories@github.com\", \"type\": \"Primary\", \"description\": [{\"lang\": \"en\", \"value\": \"CWE-415\"}]}]"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-45402\",\"sourceIdentifier\":\"security-advisories@github.com\",\"published\":\"2024-10-11T15:15:04.903\",\"lastModified\":\"2024-11-12T20:02:56.167\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"Picotls is a TLS protocol library that allows users select different crypto backends based on their use case. When parsing a spoofed TLS handshake message, picotls (specifically, bindings within picotls that call the crypto libraries) may attempt to free the same memory twice. This double free occurs during the disposal of multiple objects without any intervening calls to malloc Typically, this triggers the malloc implementation to detect the error and abort the process. However, depending on the internals of malloc and the crypto backend being used, the flaw could potentially lead to a use-after-free scenario, which might allow for arbitrary code execution. The vulnerability is addressed with commit 9b88159ce763d680e4a13b6e8f3171ae923a535d.\"},{\"lang\":\"es\",\"value\":\"Picotls es una librer\u00eda de protocolo TLS que permite a los usuarios seleccionar diferentes backends criptogr\u00e1ficos seg\u00fan su caso de uso. Al analizar un mensaje de protocolo de enlace TLS falsificado, picotls (espec\u00edficamente, los enlaces dentro de picotls que llaman a las librer\u00edas criptogr\u00e1ficas) pueden intentar liberar la misma memoria dos veces. Esta doble liberaci\u00f3n ocurre durante la eliminaci\u00f3n de m\u00faltiples objetos sin ninguna llamada intermedia a malloc. Por lo general, esto activa la implementaci\u00f3n de malloc para detectar el error y abortar el proceso. Sin embargo, dependiendo de los componentes internos de malloc y el backend criptogr\u00e1fico que se use, la falla podr\u00eda potencialmente conducir a un escenario de use-after-free, lo que podr\u00eda permitir la ejecuci\u00f3n de c\u00f3digo arbitrario. La vulnerabilidad se soluciona con el commit 9b88159ce763d680e4a13b6e8f3171ae923a535d.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H\",\"baseScore\":8.6,\"baseSeverity\":\"HIGH\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"LOW\",\"integrityImpact\":\"LOW\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":3.9,\"impactScore\":4.7},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":9.8,\"baseSeverity\":\"CRITICAL\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":3.9,\"impactScore\":5.9}]},\"weaknesses\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-415\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:dena:picotls:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"2024-08-12\",\"versionEndExcluding\":\"2024-10-10\",\"matchCriteriaId\":\"C8B44BB8-1995-4076-BA61-135AFD0E512D\"}]}]}],\"references\":[{\"url\":\"https://github.com/h2o/picotls/commit/9b88159ce763d680e4a13b6e8f3171ae923a535d\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Patch\"]},{\"url\":\"https://github.com/h2o/picotls/security/advisories/GHSA-w7c8-wjx9-vvvv\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Vendor Advisory\"]}]}}",
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-45402\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"yes\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-10-11T14:51:21.382378Z\"}}}], \"affected\": [{\"cpes\": [\"cpe:2.3:a:h2o_project:picotls:*:*:*:*:*:*:*:*\"], \"vendor\": \"h2o_project\", \"product\": \"picotls\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"9b88159ce763d680e4a13b6e8f3171ae923a535d\", \"versionType\": \"custom\"}], \"defaultStatus\": \"unknown\"}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-10-11T14:53:19.935Z\"}}], \"cna\": {\"title\": \"Picotls double free\", \"source\": {\"advisory\": \"GHSA-w7c8-wjx9-vvvv\", \"discovery\": \"UNKNOWN\"}, \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 8.6, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H\", \"integrityImpact\": \"LOW\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"NONE\", \"confidentialityImpact\": \"LOW\"}}], \"affected\": [{\"vendor\": \"h2o\", \"product\": \"picotls\", \"versions\": [{\"status\": \"affected\", \"version\": \"\u003c 9b88159ce763d680e4a13b6e8f3171ae923a535d\"}]}], \"references\": [{\"url\": \"https://github.com/h2o/picotls/security/advisories/GHSA-w7c8-wjx9-vvvv\", \"name\": \"https://github.com/h2o/picotls/security/advisories/GHSA-w7c8-wjx9-vvvv\", \"tags\": [\"x_refsource_CONFIRM\"]}, {\"url\": \"https://github.com/h2o/picotls/commit/9b88159ce763d680e4a13b6e8f3171ae923a535d\", \"name\": \"https://github.com/h2o/picotls/commit/9b88159ce763d680e4a13b6e8f3171ae923a535d\", \"tags\": [\"x_refsource_MISC\"]}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"Picotls is a TLS protocol library that allows users select different crypto backends based on their use case. When parsing a spoofed TLS handshake message, picotls (specifically, bindings within picotls that call the crypto libraries) may attempt to free the same memory twice. This double free occurs during the disposal of multiple objects without any intervening calls to malloc Typically, this triggers the malloc implementation to detect the error and abort the process. However, depending on the internals of malloc and the crypto backend being used, the flaw could potentially lead to a use-after-free scenario, which might allow for arbitrary code execution. The vulnerability is addressed with commit 9b88159ce763d680e4a13b6e8f3171ae923a535d.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-415\", \"description\": \"CWE-415: Double Free\"}]}], \"providerMetadata\": {\"orgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"shortName\": \"GitHub_M\", \"dateUpdated\": \"2024-10-11T14:38:59.695Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-45402\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2024-10-15T16:11:10.181Z\", \"dateReserved\": \"2024-08-28T20:21:32.803Z\", \"assignerOrgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"datePublished\": \"2024-10-11T14:38:59.695Z\", \"assignerShortName\": \"GitHub_M\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }
  }
}


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 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…