CVE-2022-39294 (GCVE-0-2022-39294)

Vulnerability from cvelistv5 – Published: 2022-10-31 00:00 – Updated: 2025-04-23 16:42
VLAI?
Title
(DoS) Denial of Service from unchecked request length in conduit-hyper
Summary
conduit-hyper integrates a conduit application with the hyper server. Prior to version 0.4.2, `conduit-hyper` did not check any limit on a request's length before calling [`hyper::body::to_bytes`](https://docs.rs/hyper/latest/hyper/body/fn.to_bytes.html). An attacker could send a malicious request with an abnormally large `Content-Length`, which could lead to a panic if memory allocation failed for that request. In version 0.4.2, `conduit-hyper` sets an internal limit of 128 MiB per request, otherwise returning status 400 ("Bad Request"). This crate is part of the implementation of Rust's [crates.io](https://crates.io/), but that service is not affected due to its existing cloud infrastructure, which already drops such malicious requests. Even with the new limit in place, `conduit-hyper` is not recommended for production use, nor to directly serve the public Internet.
CWE
  • CWE-400 - Uncontrolled Resource Consumption
Assigner
Impacted products
Vendor Product Version
conduit-rust conduit-hyper Affected: >= 0.2.0-alpha.3, < 0.4.2
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-03T12:00:44.059Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://github.com/conduit-rust/conduit-hyper/security/advisories/GHSA-9398-5ghf-7pr6"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2022-39294",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "yes"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2025-04-23T15:49:41.633353Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2025-04-23T16:42:04.247Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "product": "conduit-hyper",
          "vendor": "conduit-rust",
          "versions": [
            {
              "status": "affected",
              "version": "\u003e= 0.2.0-alpha.3, \u003c 0.4.2"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "conduit-hyper integrates a conduit application with the hyper server. Prior to version 0.4.2, `conduit-hyper` did not check any limit on a request\u0027s length before calling [`hyper::body::to_bytes`](https://docs.rs/hyper/latest/hyper/body/fn.to_bytes.html). An attacker could send a malicious request with an abnormally large `Content-Length`, which could lead to a panic if memory allocation failed for that request. In version 0.4.2, `conduit-hyper` sets an internal limit of 128 MiB per request, otherwise returning status 400 (\"Bad Request\"). This crate is part of the implementation of Rust\u0027s [crates.io](https://crates.io/), but that service is not affected due to its existing cloud infrastructure, which already drops such malicious requests. Even with the new limit in place, `conduit-hyper` is not recommended for production use, nor to directly serve the public Internet."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "HIGH",
            "baseScore": 7.5,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "NONE",
            "integrityImpact": "NONE",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
            "version": "3.1"
          }
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-400",
              "description": "CWE-400: Uncontrolled Resource Consumption",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2022-10-31T00:00:00.000Z",
        "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "shortName": "GitHub_M"
      },
      "references": [
        {
          "url": "https://github.com/conduit-rust/conduit-hyper/security/advisories/GHSA-9398-5ghf-7pr6"
        }
      ],
      "source": {
        "advisory": "GHSA-9398-5ghf-7pr6",
        "discovery": "UNKNOWN"
      },
      "title": "(DoS) Denial of Service from unchecked request length in conduit-hyper"
    }
  },
  "cveMetadata": {
    "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
    "assignerShortName": "GitHub_M",
    "cveId": "CVE-2022-39294",
    "datePublished": "2022-10-31T00:00:00.000Z",
    "dateReserved": "2022-09-02T00:00:00.000Z",
    "dateUpdated": "2025-04-23T16:42:04.247Z",
    "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:conduit-hyper_project:conduit-hyper:*:*:*:*:*:rust:*:*\", \"versionStartExcluding\": \"0.2.0\", \"versionEndExcluding\": \"0.4.2\", \"matchCriteriaId\": \"D001374F-B928-494C-859B-AADAD6AF6D85\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:a:conduit-hyper_project:conduit-hyper:0.2.0:-:*:*:*:rust:*:*\", \"matchCriteriaId\": \"5D846605-A0B4-4899-82EC-A611314A9854\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:a:conduit-hyper_project:conduit-hyper:0.2.0:alpha3:*:*:*:rust:*:*\", \"matchCriteriaId\": \"F43D2AB8-A644-485F-8CEF-0DA8C8A0FE89\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:a:conduit-hyper_project:conduit-hyper:0.2.0:alpha4:*:*:*:rust:*:*\", \"matchCriteriaId\": \"095236EC-4054-4816-BB15-2E9B5A8D3947\"}]}]}]",
      "descriptions": "[{\"lang\": \"en\", \"value\": \"conduit-hyper integrates a conduit application with the hyper server. Prior to version 0.4.2, `conduit-hyper` did not check any limit on a request\u0027s length before calling [`hyper::body::to_bytes`](https://docs.rs/hyper/latest/hyper/body/fn.to_bytes.html). An attacker could send a malicious request with an abnormally large `Content-Length`, which could lead to a panic if memory allocation failed for that request. In version 0.4.2, `conduit-hyper` sets an internal limit of 128 MiB per request, otherwise returning status 400 (\\\"Bad Request\\\"). This crate is part of the implementation of Rust\u0027s [crates.io](https://crates.io/), but that service is not affected due to its existing cloud infrastructure, which already drops such malicious requests. Even with the new limit in place, `conduit-hyper` is not recommended for production use, nor to directly serve the public Internet.\"}, {\"lang\": \"es\", \"value\": \"conduit-hyper integra una aplicaci\\u00f3n de conducto con el hiperservidor. Antes de la versi\\u00f3n 0.4.2, `conduit-hyper` no verificaba ning\\u00fan l\\u00edmite en la longitud de una solicitud antes de llamar a [`hyper::body::to_bytes`](https://docs.rs/hyper/latest/hyper/body /fn.to_bytes.html). Un atacante podr\\u00eda enviar una solicitud maliciosa con una \\\"\\\"longitud de contenido\\\"\\\" anormalmente grande, lo que podr\\u00eda provocar p\\u00e1nico si fallara la asignaci\\u00f3n de memoria para esa solicitud. En la versi\\u00f3n 0.4.2, `conduit-hyper` establece un l\\u00edmite interno de 128 MiB por solicitud; de lo contrario, devuelve el estado 400 (\\\"\\\"Solicitud incorrecta\\\"\\\"). Esta caja es parte de la implementaci\\u00f3n de [crates.io](https://crates.io/) de Rust, pero ese servicio no se ve afectado debido a su infraestructura de nube existente, que ya descarta este tipo de solicitudes maliciosas. Incluso con el nuevo l\\u00edmite establecido, \\\"\\\"conduit-hyper\\\"\\\" no se recomienda para uso en producci\\u00f3n ni para servir directamente a la Internet p\\u00fablica.\\n\"}]",
      "id": "CVE-2022-39294",
      "lastModified": "2024-11-21T07:17:58.570",
      "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:N/I:N/A:H\", \"baseScore\": 7.5, \"baseSeverity\": \"HIGH\", \"attackVector\": \"NETWORK\", \"attackComplexity\": \"LOW\", \"privilegesRequired\": \"NONE\", \"userInteraction\": \"NONE\", \"scope\": \"UNCHANGED\", \"confidentialityImpact\": \"NONE\", \"integrityImpact\": \"NONE\", \"availabilityImpact\": \"HIGH\"}, \"exploitabilityScore\": 3.9, \"impactScore\": 3.6}, {\"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:N/I:N/A:H\", \"baseScore\": 7.5, \"baseSeverity\": \"HIGH\", \"attackVector\": \"NETWORK\", \"attackComplexity\": \"LOW\", \"privilegesRequired\": \"NONE\", \"userInteraction\": \"NONE\", \"scope\": \"UNCHANGED\", \"confidentialityImpact\": \"NONE\", \"integrityImpact\": \"NONE\", \"availabilityImpact\": \"HIGH\"}, \"exploitabilityScore\": 3.9, \"impactScore\": 3.6}]}",
      "published": "2022-10-31T19:15:10.593",
      "references": "[{\"url\": \"https://github.com/conduit-rust/conduit-hyper/security/advisories/GHSA-9398-5ghf-7pr6\", \"source\": \"security-advisories@github.com\", \"tags\": [\"Third Party Advisory\"]}, {\"url\": \"https://github.com/conduit-rust/conduit-hyper/security/advisories/GHSA-9398-5ghf-7pr6\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Third Party Advisory\"]}]",
      "sourceIdentifier": "security-advisories@github.com",
      "vulnStatus": "Modified",
      "weaknesses": "[{\"source\": \"security-advisories@github.com\", \"type\": \"Secondary\", \"description\": [{\"lang\": \"en\", \"value\": \"CWE-400\"}]}, {\"source\": \"nvd@nist.gov\", \"type\": \"Primary\", \"description\": [{\"lang\": \"en\", \"value\": \"CWE-1284\"}]}]"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2022-39294\",\"sourceIdentifier\":\"security-advisories@github.com\",\"published\":\"2022-10-31T19:15:10.593\",\"lastModified\":\"2024-11-21T07:17:58.570\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"conduit-hyper integrates a conduit application with the hyper server. Prior to version 0.4.2, `conduit-hyper` did not check any limit on a request\u0027s length before calling [`hyper::body::to_bytes`](https://docs.rs/hyper/latest/hyper/body/fn.to_bytes.html). An attacker could send a malicious request with an abnormally large `Content-Length`, which could lead to a panic if memory allocation failed for that request. In version 0.4.2, `conduit-hyper` sets an internal limit of 128 MiB per request, otherwise returning status 400 (\\\"Bad Request\\\"). This crate is part of the implementation of Rust\u0027s [crates.io](https://crates.io/), but that service is not affected due to its existing cloud infrastructure, which already drops such malicious requests. Even with the new limit in place, `conduit-hyper` is not recommended for production use, nor to directly serve the public Internet.\"},{\"lang\":\"es\",\"value\":\"conduit-hyper integra una aplicaci\u00f3n de conducto con el hiperservidor. Antes de la versi\u00f3n 0.4.2, `conduit-hyper` no verificaba ning\u00fan l\u00edmite en la longitud de una solicitud antes de llamar a [`hyper::body::to_bytes`](https://docs.rs/hyper/latest/hyper/body /fn.to_bytes.html). Un atacante podr\u00eda enviar una solicitud maliciosa con una \\\"\\\"longitud de contenido\\\"\\\" anormalmente grande, lo que podr\u00eda provocar p\u00e1nico si fallara la asignaci\u00f3n de memoria para esa solicitud. En la versi\u00f3n 0.4.2, `conduit-hyper` establece un l\u00edmite interno de 128 MiB por solicitud; de lo contrario, devuelve el estado 400 (\\\"\\\"Solicitud incorrecta\\\"\\\"). Esta caja es parte de la implementaci\u00f3n de [crates.io](https://crates.io/) de Rust, pero ese servicio no se ve afectado debido a su infraestructura de nube existente, que ya descarta este tipo de solicitudes maliciosas. Incluso con el nuevo l\u00edmite establecido, \\\"\\\"conduit-hyper\\\"\\\" no se recomienda para uso en producci\u00f3n ni para servir directamente a la Internet p\u00fablica.\\n\"}],\"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:N/I:N/A:H\",\"baseScore\":7.5,\"baseSeverity\":\"HIGH\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":3.9,\"impactScore\":3.6},{\"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:N/I:N/A:H\",\"baseScore\":7.5,\"baseSeverity\":\"HIGH\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":3.9,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-400\"}]},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-1284\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:conduit-hyper_project:conduit-hyper:*:*:*:*:*:rust:*:*\",\"versionStartExcluding\":\"0.2.0\",\"versionEndExcluding\":\"0.4.2\",\"matchCriteriaId\":\"D001374F-B928-494C-859B-AADAD6AF6D85\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:conduit-hyper_project:conduit-hyper:0.2.0:-:*:*:*:rust:*:*\",\"matchCriteriaId\":\"5D846605-A0B4-4899-82EC-A611314A9854\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:conduit-hyper_project:conduit-hyper:0.2.0:alpha3:*:*:*:rust:*:*\",\"matchCriteriaId\":\"F43D2AB8-A644-485F-8CEF-0DA8C8A0FE89\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:conduit-hyper_project:conduit-hyper:0.2.0:alpha4:*:*:*:rust:*:*\",\"matchCriteriaId\":\"095236EC-4054-4816-BB15-2E9B5A8D3947\"}]}]}],\"references\":[{\"url\":\"https://github.com/conduit-rust/conduit-hyper/security/advisories/GHSA-9398-5ghf-7pr6\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Third Party Advisory\"]},{\"url\":\"https://github.com/conduit-rust/conduit-hyper/security/advisories/GHSA-9398-5ghf-7pr6\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Third Party Advisory\"]}]}}"
  }
}


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…