Skip to content
Heist/ feed
Back to feed
Medium

Security advisory

Type: advisorySources: OSVCVE: CVE-2019-16782

There's a possible information leak / session hijack vulnerability in Rack (RubyGem rack). This vulnerability is patched in versions 1.6.12 and 2.0.8. Attackers may be able to find and hijack sessions by using timing attacks targeting the session id. Session ids are usually stored and indexed in a database that uses some kind of scheme for speeding up lookups of that session id. By carefully measuring the amount of time it takes to look up a session, an attacker may be able to find a valid session id and hijack the session. The session id itself may be generated randomly, but the way the session is indexed by the backing store does not use a secure comparison.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2019-16782
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 10:37 UTC · Revision 1

Source evidence

CVE-2019-16782

core-osv · Original source

Published 18 Dec 2019, 20:15 UTC

There's a possible information leak / session hijack vulnerability in Rack (RubyGem rack). This vulnerability is patched in versions 1.6.12 and 2.0.8. Attackers may be able to find and hijack sessions by using timing attacks targeting the session id. Session ids are usually stored and indexed in a database that uses some kind of scheme for speeding up lookups of that session id. By carefully measuring the amount of time it takes to look up a session, an attacker may be able to find a valid session id and hijack the session. The session id itself may be generated randomly, but the way the session is indexed by the backing store does not use a secure comparison.

osv:CVE-2019-16782
Complete source record
{
  "id": "dd23977905ec048922145d58fe6878563b6ee908541cb13feea0599832df4d66",
  "url": "https://osv.dev/vulnerability/CVE-2019-16782",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2019-16782",
    "summary": "There's a possible information leak / session hijack vulnerability in Rack (RubyGem rack). This vulnerability is patched in versions 1.6.12 and 2.0.8. Attackers may be able to find and hijack sessions by using timing attacks targeting the session id. Session ids are usually stored and indexed in a database that uses some kind of scheme for speeding up lookups of that session id. By carefully measuring the amount of time it takes to look up a session, an attacker may be able to find a valid session id and hijack the session. The session id itself may be generated randomly, but the way the session is indexed by the backing store does not use a secure comparison.",
    "evidence": "osv:CVE-2019-16782",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2019-16782",
      "aliases": [
        "CVE-2019-16782",
        "GHSA-hrqr-hxpp-chr3"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/rack/rack",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "de902e48d1c971fe145002039121afb69e10af5a"
                },
                {
                  "introduced": "1a408687493175250408fe87c5046bf1adfa6386"
                },
                {
                  "fixed": "e7ee459546d217f32afc83e0b168c5eb9f95d784"
                },
                {
                  "fixed": "7fecaee81f59926b6e1913511c90650e76673b38"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:rack:rack:*:*:*:*:*:ruby:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.6.12"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:rack:rack:*:*:*:*:*:ruby:*:*",
                    "range": [
                      {
                        "introduced": "2.0.0"
                      },
                      {
                        "fixed": "2.0.8"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "7fecaee81f59926b6e1913511c90650e76673b38"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "1.6.11",
            "2.0.7",
            "2.0.6",
            "1.6.10",
            "1.6.9",
            "2.0.4",
            "1.6.8",
            "2.0.3",
            "1.6.7",
            "1.6.6",
            "2.0.2",
            "1.6.5",
            "2.0.1",
            "2.0.0",
            "1.6.4",
            "1.6.3",
            "1.6.1",
            "1.6.0",
            "1.6.0.beta2",
            "1.6.0.beta",
            "1.5.1",
            "1.5.0",
            "1.4.1",
            "1.4.0",
            "1.3.0",
            "1.3.0.beta2",
            "1.3.0.beta",
            "1.0",
            "0.3",
            "0.2",
            "0.1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2019-16782.json"
          }
        }
      ],
      "modified": "2026-10-20T10:50:47.501076192Z",
      "provider": "osv",
      "references": [
        "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/HZXMWILCICQLA2BYSP6I2CRMUG53YBLX/",
        "https://github.com/rack/rack/security/advisories/GHSA-hrqr-hxpp-chr3",
        "https://github.com/rack/rack/commit/7fecaee81f59926b6e1913511c90650e76673b38"
      ],
      "provider_metadata": {
        "unresolved_ranges": [
          {
            "cpes": [
              "cpe:2.3:o:fedoraproject:fedora:31:*:*:*:*:*:*:*"
            ],
            "vendor_product": "fedoraproject:fedora",
            "extracted_events": [
              {
                "range": [
                  {
                    "introduced": "31"
                  },
                  {
                    "last_affected": "31"
                  }
                ],
                "source": "CPE_STRING"
              }
            ]
          },
          {
            "cpes": [
              "cpe:2.3:o:opensuse:leap:15.1:*:*:*:*:*:*:*"
            ],
            "vendor_product": "opensuse:leap",
            "extracted_events": [
              {
                "range": [
                  {
                    "introduced": "15.1"
                  },
                  {
                    "last_affected": "15.1"
                  }
                ],
                "source": "CPE_STRING"
              }
            ]
          }
        ]
      }
    },
    "related_cves": [
      {
        "value": "CVE-2019-16782",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 382156,
  "published_at": "2019-12-18T20:15:16.18+00:00"
}