{
  "schema_version": "1.4.0",
  "id": "GHSA-2jfv-g3fh-xq3v",
  "modified": "2023-06-13T21:56:58Z",
  "published": "2021-08-25T20:46:54Z",
  "aliases": [
    "CVE-2020-35875"
  ],
  "summary": "Excessive memory usage in tokio-rustls",
  "details": "tokio-rustls does not call process_new_packets immediately after read, so the expected termination condition wants_read always returns true. As long as new incoming data arrives faster than it is processed and the reader does not return pending, data will be buffered. This may cause DoS.",
  "severity": [
    {
      "type": "CVSS_V3",
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
    }
  ],
  "affected": [
    {
      "package": {
        "ecosystem": "crates.io",
        "name": "tokio-rustls"
      },
      "ranges": [
        {
          "type": "ECOSYSTEM",
          "events": [
            {
              "introduced": "0.12.0"
            },
            {
              "fixed": "0.12.3"
            }
          ]
        }
      ]
    },
    {
      "package": {
        "ecosystem": "crates.io",
        "name": "tokio-rustls"
      },
      "ranges": [
        {
          "type": "ECOSYSTEM",
          "events": [
            {
              "introduced": "0.13.0"
            },
            {
              "fixed": "0.13.1"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2020-35875"
    },
    {
      "type": "WEB",
      "url": "https://github.com/tokio-rs/tls/pull/14"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/tokio-rs/tls"
    },
    {
      "type": "WEB",
      "url": "https://rustsec.org/advisories/RUSTSEC-2020-0019.html"
    }
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-400"
    ],
    "severity": "HIGH",
    "github_reviewed": true,
    "github_reviewed_at": "2021-08-19T21:19:01Z",
    "nvd_published_at": null
  }
}