{
  "threat_severity" : "Important",
  "public_date" : "2024-10-29T14:32:25Z",
  "bugzilla" : {
    "description" : "waitress: python-waitress: request processing race condition in HTTP pipelining with invalid first request",
    "id" : "2322460",
    "url" : "https://bugzilla.redhat.com/show_bug.cgi?id=2322460"
  },
  "cvss3" : {
    "cvss3_base_score" : "4.8",
    "cvss3_scoring_vector" : "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N",
    "status" : "verified"
  },
  "cwe" : "CWE-444",
  "details" : [ "Waitress is a Web Server Gateway Interface server for Python 2 and 3. A remote client may send a request that is exactly recv_bytes (defaults to 8192) long, followed by a secondary request using HTTP pipelining. When request lookahead is disabled (default) we won't read any more requests, and when the first request fails due to a parsing error, we simply close the connection. However when request lookahead is enabled, it is possible to process and receive the first request, start sending the error message back to the client while we read the next request and queue it. This will allow the secondary request to be serviced by the worker thread while the connection should be closed. Waitress 3.0.1 fixes the race condition. As a workaround, disable channel_request_lookahead, this is set to 0 by default disabling this feature.", "A flaw was found in the Waitress WSGI server for Python. A remote client can send a request that is exactly `recv_bytes`, which defaults to 8192 long, followed by a secondary request using HTTP pipelining. When request lookahead is disabled (default), Waitress won't read any more requests, and when the first request fails due to a parsing error, it simply closes the connection. \nHowever when request lookahead is enabled, it is possible to process and receive the first request, start sending the error message back to the client while we read the next request and queue it. This will allow the secondary request to be serviced by the worker thread while the connection should be closed." ],
  "affected_release" : [ {
    "product_name" : "Ironic content for Red Hat OpenShift Container Platform 4.12",
    "release_date" : "2024-12-05T00:00:00Z",
    "advisory" : "RHSA-2024:10535",
    "cpe" : "cpe:/a:redhat:openshift_ironic:4.12::el9",
    "package" : "python-waitress-0:3.0.1-1.el9"
  }, {
    "product_name" : "Ironic content for Red Hat OpenShift Container Platform 4.13",
    "release_date" : "2024-12-12T00:00:00Z",
    "advisory" : "RHSA-2024:10815",
    "cpe" : "cpe:/a:redhat:openshift_ironic:4.13::el9",
    "package" : "python-waitress-0:3.0.1-1.el9"
  }, {
    "product_name" : "Red Hat OpenShift Container Platform 4.14",
    "release_date" : "2024-11-20T00:00:00Z",
    "advisory" : "RHSA-2024:9623",
    "cpe" : "cpe:/a:redhat:openshift_ironic:4.14::el9",
    "package" : "python-waitress-0:3.0.1-1.el9"
  }, {
    "product_name" : "Red Hat OpenShift Container Platform 4.15",
    "release_date" : "2024-11-26T00:00:00Z",
    "advisory" : "RHSA-2024:10145",
    "cpe" : "cpe:/a:redhat:openshift_ironic:4.15::el9",
    "package" : "python-waitress-0:3.0.1-1.el9"
  }, {
    "product_name" : "Red Hat OpenShift Container Platform 4.16",
    "release_date" : "2024-11-20T00:00:00Z",
    "advisory" : "RHSA-2024:9618",
    "cpe" : "cpe:/a:redhat:openshift_ironic:4.16::el9",
    "package" : "python-waitress-0:3.0.1-1.el9"
  }, {
    "product_name" : "Red Hat OpenShift Container Platform 4.17",
    "release_date" : "2024-11-19T00:00:00Z",
    "advisory" : "RHSA-2024:9613",
    "cpe" : "cpe:/a:redhat:openshift_ironic:4.17::el9",
    "package" : "python-waitress-0:3.0.1-1.el9"
  }, {
    "product_name" : "Red Hat OpenStack Platform 16.2",
    "release_date" : "2025-01-09T00:00:00Z",
    "advisory" : "RHSA-2025:0201",
    "cpe" : "cpe:/a:redhat:openstack:16.2::el8",
    "package" : "python-waitress-0:2.0.0-4.el8ost"
  }, {
    "product_name" : "Red Hat OpenStack Platform 17.1 for RHEL 8",
    "release_date" : "2025-02-10T00:00:00Z",
    "advisory" : "RHSA-2025:1192",
    "cpe" : "cpe:/a:redhat:openstack:17.1::el8",
    "package" : "python-waitress-0:2.0.0-4.el8ost"
  }, {
    "product_name" : "Red Hat OpenStack Platform 17.1 for RHEL 9",
    "release_date" : "2025-02-10T00:00:00Z",
    "advisory" : "RHSA-2025:1191",
    "cpe" : "cpe:/a:redhat:openstack:17.1::el9",
    "package" : "python-waitress-0:2.0.0-4.el9ost"
  } ],
  "package_state" : [ {
    "product_name" : "Red Hat Ceph Storage 4",
    "fix_state" : "Out of support scope",
    "package_name" : "python-waitress",
    "cpe" : "cpe:/a:redhat:ceph_storage:4"
  }, {
    "product_name" : "Red Hat Ceph Storage 5",
    "fix_state" : "Affected",
    "package_name" : "python-waitress",
    "cpe" : "cpe:/a:redhat:ceph_storage:5"
  }, {
    "product_name" : "Red Hat Openshift Container Storage 4",
    "fix_state" : "Affected",
    "package_name" : "python-waitress",
    "cpe" : "cpe:/a:redhat:openshift_container_storage:4"
  } ],
  "references" : [ "https://www.cve.org/CVERecord?id=CVE-2024-49768\nhttps://nvd.nist.gov/vuln/detail/CVE-2024-49768\nhttps://github.com/Pylons/waitress/commit/e4359018537af376cf24bd13616d861e2fb76f65\nhttps://github.com/Pylons/waitress/security/advisories/GHSA-9298-4cf8-g4wj" ],
  "name" : "CVE-2024-49768",
  "mitigation" : {
    "value" : "Disable `channel_request_lookahead`. This feature is disabled (set to 0) by default.",
    "lang" : "en:us"
  },
  "csaw" : false
}