Skip to content
Heist/ feed
Back to feed
Medium

Outline's Information Disclosure in Activity Logs allows User Enumeration of Private Drafts

Type: advisorySources: OSV

Outline is a service that allows for collaborative documentation. Prior to 1.5.0, the events.list API endpoint, used for retrieving activity logs, contains a logic flaw in its filtering mechanism. It allows any authenticated user to retrieve activity events associated with documents that have no collection (e.g., Private Drafts, Deleted Documents), regardless of the user's actual permissions on those documents. While the document content is not directly exposed, this vulnerability leaks sensitive metadata (such as Document IDs, user activity timestamps, and in some specific cases like the Document Title of Permanent Delete). Crucially, leaking valid Document IDs of deleted drafts removes the protection of UUID randomness, making High-severity IDOR attacks (such as the one identified in documents.restore) trivially exploitable by lowering the attack complexity. Version 1.5.0 fixes the issue.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-28506
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 14:04 UTC · Revision 1

Source evidence

Outline's Information Disclosure in Activity Logs allows User Enumeration of Private Drafts

core-osv · Original source

Published 17 Mar 2026, 15:30 UTC

Outline is a service that allows for collaborative documentation. Prior to 1.5.0, the events.list API endpoint, used for retrieving activity logs, contains a logic flaw in its filtering mechanism. It allows any authenticated user to retrieve activity events associated with documents that have no collection (e.g., Private Drafts, Deleted Documents), regardless of the user's actual permissions on those documents. While the document content is not directly exposed, this vulnerability leaks sensitive metadata (such as Document IDs, user activity timestamps, and in some specific cases like the Document Title of Permanent Delete). Crucially, leaking valid Document IDs of deleted drafts removes the protection of UUID randomness, making High-severity IDOR attacks (such as the one identified in documents.restore) trivially exploitable by lowering the attack complexity. Version 1.5.0 fixes the issue.

osv:CVE-2026-28506
Complete source record
{
  "id": "21cbcab7d7bec38c940153d65e4ff33c3f11dfbd5dc0a4ef4ca611cff40aeff2",
  "url": "https://osv.dev/vulnerability/CVE-2026-28506",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Outline's Information Disclosure in Activity Logs allows User Enumeration of Private Drafts",
    "summary": "Outline is a service that allows for collaborative documentation. Prior to 1.5.0, the events.list API endpoint, used for retrieving activity logs, contains a logic flaw in its filtering mechanism. It allows any authenticated user to retrieve activity events associated with documents that have no collection (e.g., Private Drafts, Deleted Documents), regardless of the user's actual permissions on those documents. While the document content is not directly exposed, this vulnerability leaks sensitive metadata (such as Document IDs, user activity timestamps, and in some specific cases like the Document Title of Permanent Delete). Crucially, leaking valid Document IDs of deleted drafts removes the protection of UUID randomness, making High-severity IDOR attacks (such as the one identified in documents.restore) trivially exploitable by lowering the attack complexity. Version 1.5.0 fixes the issue.",
    "evidence": "osv:CVE-2026-28506",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-28506",
      "aliases": [
        "CVE-2026-28506",
        "GHSA-69x7-6fcr-mm6g"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/outline/outline",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "a860cfc9ec575f25fbc426a72f6cdb75de6959c7"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.5.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "cpe": "cpe:2.3:a:getoutline:outline:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.5.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "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",
            "v0.82.0",
            "v0.80.2",
            "v0.80.1",
            "v0.80.0",
            "v0.79.1",
            "v0.79.0",
            "v0.78.0-0",
            "v0.77.1",
            "v0.77.0",
            "v0.76.2-0",
            "v0.76.1",
            "v0.76.0",
            "v0.76.0-2",
            "v0.76.0-1",
            "v0.76.0-0",
            "v0.75.2",
            "v0.75.1",
            "v0.75.0",
            "v0.73.1",
            "v0.73.0",
            "v0.72.0",
            "v0.71.0",
            "v0.70.2",
            "v0.70.1",
            "v0.70.0",
            "v0.69.1",
            "v0.69.0",
            "v0.67.2",
            "v0.67.1",
            "v0.67.0",
            "v0.67.0-pre.1",
            "v0.66.0",
            "v0.65.1",
            "v0.65.0",
            "v0.64.3",
            "v0.64.2",
            "v0.64.1",
            "v0.64.0",
            "v0.63.0",
            "v0.62.0",
            "v0.61.0",
            "v0.60.1",
            "v0.60.0",
            "v0.59.0",
            "v0.58.0",
            "v0.57.0",
            "v0.56.0",
            "v0.55.0",
            "v0.54.0",
            "v0.53.1",
            "v0.53.0",
            "v0.52.0",
            "v0.51.0",
            "v0.50.0",
            "v0.49.0",
            "v0.48.1",
            "v0.48.0",
            "v0.46.0",
            "v0.45.0",
            "v0.44.0",
            "v0.43.3",
            "v0.43.2",
            "v0.43.1",
            "v0.43.0",
            "v0.42.2",
            "v0.42.1",
            "v0.42.0",
            "v0.41.0",
            "v0.40.2",
            "v0.40.1",
            "v0.40.0",
            "v0.39.0",
            "0.39.0",
            "v0.38.1",
            "v0.38.0",
            "v0.37.0",
            "v0.36.1",
            "v0.36.0",
            "v0.35.0",
            "v0.34.0",
            "v0.33.0",
            "v0.32.0",
            "v0.31.0",
            "v0.30.0",
            "v0.29.0",
            "v0.28.0",
            "v0.27.0",
            "v0.26.0",
            "v0.25.0",
            "v0.24.0",
            "v0.23.0",
            "v0.22.1",
            "v0.22.0",
            "v0.21.0",
            "v0.20.0",
            "v0.19.1",
            "v0.19.0",
            "v0.18.0",
            "v0.16.3",
            "v0.16.2",
            "v0.17.0",
            "v0.16.1",
            "0.16.0",
            "v0.15.1",
            "v0.15.0",
            "v0.14.0",
            "v0.13.5",
            "v0.13.4",
            "v0.13.3",
            "v0.13.2",
            "v0.13.1",
            "v0.9.0",
            "v0.8.1",
            "v0.8.0",
            "v0.7.0",
            "v0.6.1",
            "v0.6.0",
            "v0.5.0",
            "v0.4.0",
            "v0.3.1",
            "v0.3.0",
            "v0.2.0",
            "0.1.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-28506.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:29.445020234Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/28xxx/CVE-2026-28506.json",
        "https://github.com/outline/outline/security/advisories/GHSA-69x7-6fcr-mm6g",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-28506"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-200"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/28xxx/CVE-2026-28506.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-28506",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 496213,
  "published_at": "2026-03-17T15:30:24.114+00:00"
}