Skip to content
Heist/ feed
Back to feed
Critical

Outline has a rate limit bypass that allows brute force of email login OTP

Type: advisorySources: OSV

Outline is a service that allows for collaborative documentation. Outline implements an Email OTP login flow for users not associated with an Identity Provider. Starting in version 0.86.0 and prior to version 1.6.0, Outline does not invalidate OTP codes based on amount or frequency of invalid submissions, rather it relies on the rate limiter to restrict attempts. Consequently, identified bypasses in the rate limiter permit unrestricted OTP code submissions within the codes lifetime. This allows attackers to perform brute force attacks which enable account takeover. Version 1.6.0 fixes the issue.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-33640
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 16:35 UTC · Revision 1

Source evidence

Outline has a rate limit bypass that allows brute force of email login OTP

core-osv · Original source

Published 26 Mar 2026, 20:56 UTC

Outline is a service that allows for collaborative documentation. Outline implements an Email OTP login flow for users not associated with an Identity Provider. Starting in version 0.86.0 and prior to version 1.6.0, Outline does not invalidate OTP codes based on amount or frequency of invalid submissions, rather it relies on the rate limiter to restrict attempts. Consequently, identified bypasses in the rate limiter permit unrestricted OTP code submissions within the codes lifetime. This allows attackers to perform brute force attacks which enable account takeover. Version 1.6.0 fixes the issue.

osv:CVE-2026-33640
Complete source record
{
  "id": "9ab704e98ed5f5beebafa17a4a5f30d2f8923e64732532d5635f6dce41487d87",
  "url": "https://osv.dev/vulnerability/CVE-2026-33640",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Outline has a rate limit bypass that allows brute force of email login OTP",
    "summary": "Outline is a service that allows for collaborative documentation. Outline implements an Email OTP login flow for users not associated with an Identity Provider. Starting in version 0.86.0 and prior to version 1.6.0, Outline does not invalidate OTP codes based on amount or frequency of invalid submissions, rather it relies on the rate limiter to restrict attempts. Consequently, identified bypasses in the rate limiter permit unrestricted OTP code submissions within the codes lifetime. This allows attackers to perform brute force attacks which enable account takeover. Version 1.6.0 fixes the issue.",
    "evidence": "osv:CVE-2026-33640",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2026-33640",
      "aliases": [
        "CVE-2026-33640",
        "GHSA-cwhc-53hw-qqx6"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/outline/outline",
              "type": "GIT",
              "events": [
                {
                  "introduced": "5bdabc13a608cd7f4fc897205bab905e957ec918"
                },
                {
                  "fixed": "24954204eac2447b648d4e56813f69205ee4b873"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0.86.0"
                      },
                      {
                        "fixed": "1.6.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "24954204eac2447b648d4e56813f69205ee4b873"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v1.6.0"
                  },
                  {
                    "cpe": "cpe:2.3:a:getoutline:outline:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0.86.0"
                      },
                      {
                        "fixed": "1.6.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v1.5.0",
            "v1.4.0",
            "v1.2.0",
            "v1.2.0-0",
            "v1.1.0",
            "v1.0.1",
            "v1.0.0",
            "v0.87.4",
            "v0.87.2",
            "v0.87.1",
            "v0.87.0",
            "v0.86.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-33640.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:37.313725939Z",
      "provider": "osv",
      "references": [
        "https://github.com/outline/outline/releases/tag/v1.6.0",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/33xxx/CVE-2026-33640.json",
        "https://github.com/outline/outline/security/advisories/GHSA-cwhc-53hw-qqx6",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-33640"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-307"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/33xxx/CVE-2026-33640.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-33640",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 504763,
  "published_at": "2026-03-26T20:56:37.818+00:00"
}