Papra has a Blind Server-Side Request Forgery (SSRF) via Webhook URL
Papra is a minimalistic document management and archiving platform. Prior to 26.4.0, the Papra webhook system allows authenticated users to register arbitrary URLs as webhook endpoints with no validation of the destination address. The server makes outbound HTTP POST requests to registered URLs, including localhost, internal network ranges, and cloud provider metadata endpoints, on every document event. This vulnerability is fixed in 26.4.0.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-35461
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 02:06 UTC · Revision 1
Source evidence
Papra has a Blind Server-Side Request Forgery (SSRF) via Webhook URL
core-osv · Original sourcePublished 7 Apr 2026, 14:28 UTC
Papra is a minimalistic document management and archiving platform. Prior to 26.4.0, the Papra webhook system allows authenticated users to register arbitrary URLs as webhook endpoints with no validation of the destination address. The server makes outbound HTTP POST requests to registered URLs, including localhost, internal network ranges, and cloud provider metadata endpoints, on every document event. This vulnerability is fixed in 26.4.0.
osv:CVE-2026-35461
Complete source record
{
"id": "ef1af3866f846f8cbb8115dc04678c88cf22eb07215fe020664e586b4bf86beb",
"url": "https://osv.dev/vulnerability/CVE-2026-35461",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Papra has a Blind Server-Side Request Forgery (SSRF) via Webhook URL",
"summary": "Papra is a minimalistic document management and archiving platform. Prior to 26.4.0, the Papra webhook system allows authenticated users to register arbitrary URLs as webhook endpoints with no validation of the destination address. The server makes outbound HTTP POST requests to registered URLs, including localhost, internal network ranges, and cloud provider metadata endpoints, on every document event. This vulnerability is fixed in 26.4.0.",
"evidence": "osv:CVE-2026-35461",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-35461",
"aliases": [
"CVE-2026-35461",
"GHSA-cjw7-qg95-58mq"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/papra-hq/papra",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "b29396a1973ef0d02db00b9e685073d7a9dc6e62"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "26.4.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"cpe": "cpe:2.3:a:papra:papra:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "26.4.0"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"@papra/search-parser@0.1.1",
"@papra/lecture@0.5.0",
"@papra/app@26.3.0",
"@papra/app@26.2.2",
"@papra/app@26.2.1",
"@papra/app@26.2.0",
"@papra/website@0.0.0",
"@papra/app@26.1.0",
"@papra/search-parser-demo@0.0.0",
"@papra/mobile@1.0.0",
"@papra/docker@26.0.0",
"@papra/webhooks@0.3.2",
"@papra/cli@0.2.2",
"@papra/api-sdk@1.1.3",
"@papra/docker@25.12.0",
"@papra/cli@0.2.1",
"mobile@1.0.0",
"@papra/lecture@0.4.0",
"@papra/docker@25.11.0",
"@papra/cli@0.2.0",
"@papra/api-sdk@1.1.2",
"@papra/webhooks@0.3.1",
"@papra/lecture@0.3.1",
"@papra/docker@25.10.2",
"@papra/cli@0.1.2",
"@papra/api-sdk@1.1.1",
"@papra/docker@25.10.1",
"@papra/docker@25.10.0",
"@papra/app-server@0.0.0",
"@papra/app-client@0.0.0",
"@papra/app-server@0.9.6",
"@papra/app-client@0.9.6",
"@papra/app-server@0.9.5",
"@papra/app-client@0.9.5",
"@papra/docs@0.6.1",
"@papra/app-server@0.9.4",
"@papra/app-client@0.9.4",
"@papra/app-server@0.9.3",
"@papra/app-client@0.9.3",
"@papra/app-server@0.9.2",
"@papra/app-client@0.9.2",
"@papra/app-server@0.9.1",
"@papra/app-client@0.9.1",
"@papra/webhooks@0.3.0",
"@papra/lecture@0.2.0",
"@papra/docs@0.6.0",
"@papra/cli@0.1.0",
"@papra/app-server@0.9.0",
"@papra/app-client@0.9.0",
"@papra/api-sdk@1.1.0",
"@papra/app-server@0.8.2",
"@papra/app-client@0.8.2",
"@papra/app-server@0.8.1",
"@papra/app-client@0.8.1",
"@papra/webhooks@0.2.0",
"@papra/lecture@0.1.0",
"@papra/docs@0.5.3",
"@papra/app-server@0.8.0",
"@papra/app-client@0.8.0",
"@papra/app-server@0.7.0",
"@papra/app-client@0.7.0",
"@papra/webhooks@0.1.1",
"@papra/docs@0.5.2",
"@papra/cli@0.0.2",
"@papra/app-server@0.6.4",
"@papra/app-client@0.6.4",
"@papra/api-sdk@1.0.2",
"@papra/docs@0.5.1",
"@papra/app-server@0.6.3",
"@papra/app-client@0.6.3",
"@papra/docs@0.5.0",
"@papra/app-server@0.6.2",
"@papra/app-client@0.6.2",
"@papra/docs@0.4.2",
"@papra/app-server@0.6.1",
"@papra/app-client@0.6.1",
"@papra/docs@0.4.1",
"@papra/app-server@0.6.0",
"@papra/app-client@0.6.0",
"@papra/app-server@0.5.1",
"@papra/app-client@0.5.1",
"@papra/docs@0.4.0",
"@papra/app-server@0.5.0",
"@papra/app-client@0.5.0",
"@papra/webhooks@0.1.0",
"@papra/docs@0.3.1",
"@papra/cli@0.0.1",
"@papra/app-server@0.4.0",
"@papra/app-client@0.4.0",
"@papra/api-sdk@1.0.1",
"v0.3.0",
"v0.2.1",
"v0.2.0",
"v0.1.2",
"v0.1.1",
"v0.1.0",
"v0.0.1",
"v0.0.1-beta.2",
"v0.0.1-beta.1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-35461.json"
}
}
],
"modified": "2026-10-28T02:30:32.428956823Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/35xxx/CVE-2026-35461.json",
"https://github.com/papra-hq/papra/security/advisories/GHSA-cjw7-qg95-58mq",
"https://nvd.nist.gov/vuln/detail/CVE-2026-35461"
],
"provider_metadata": {
"cwe_ids": [
"CWE-918"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/35xxx/CVE-2026-35461.json"
}
},
"related_cves": [
{
"value": "CVE-2026-35461",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 499532,
"published_at": "2026-04-07T14:28:42.063+00:00"
}