BookWyrm through 0.9.1 Missing Authorization on the Favorite and Unfavorite Endpoints
BookWyrm through 0.9.1 fails to validate user visibility permissions in the Favorite and Unfavorite views, allowing authenticated attackers to favorite or unfavorite followers-only and direct statuses they cannot access. Attackers can POST to the favorite endpoint with a status ID to create unauthorized interactions, trigger ActivityPub broadcasts, and enumerate private status IDs through response differentiation.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-86112
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 10:02 UTC · Revision 1
Source evidence
BookWyrm through 0.9.1 Missing Authorization on the Favorite and Unfavorite Endpoints
core-osv · Original sourcePublished 5 Sept 2026, 09:59 UTC
BookWyrm through 0.9.1 fails to validate user visibility permissions in the Favorite and Unfavorite views, allowing authenticated attackers to favorite or unfavorite followers-only and direct statuses they cannot access. Attackers can POST to the favorite endpoint with a status ID to create unauthorized interactions, trigger ActivityPub broadcasts, and enumerate private status IDs through response differentiation.
osv:CVE-2026-86112
Complete source record
{
"id": "ba81a1c8b6cf3a42e153c59ae091129b77added17ed85a7ae7155ee0596e82a5",
"url": "https://osv.dev/vulnerability/CVE-2026-86112",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "BookWyrm through 0.9.1 Missing Authorization on the Favorite and Unfavorite Endpoints",
"summary": "BookWyrm through 0.9.1 fails to validate user visibility permissions in the Favorite and Unfavorite views, allowing authenticated attackers to favorite or unfavorite followers-only and direct statuses they cannot access. Attackers can POST to the favorite endpoint with a status ID to create unauthorized interactions, trigger ActivityPub broadcasts, and enumerate private status IDs through response differentiation.",
"evidence": "osv:CVE-2026-86112",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-86112",
"aliases": [
"CVE-2026-86112"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/bookwyrm-social/bookwyrm",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"last_affected": "f4246d246d474939298fb49d715904ea38b4cb81"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"last_affected": "0.9.1"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandardRange"
},
{
"range": [
{
"introduced": "0"
},
{
"last_affected": "0.9.1"
}
],
"source": "DESCRIPTION"
}
]
}
}
],
"versions": [
"v0.9.1",
"v0.9.0",
"v0.8.7",
"v0.8.6",
"v0.7.4",
"v0.7.3",
"v0.7.2",
"v0.7.1",
"v0.6.6",
"v0.6.5",
"v0.6.4",
"v0.6.3",
"v0.6.2",
"v0.6.1",
"v0.6.0",
"v0.5.5",
"v0.5.4",
"v0.5.3",
"v0.5.2",
"v0.5.1",
"v0.5.0",
"v0.4.6",
"v0.4.5",
"v0.4.4",
"v0.4.3",
"v0.4.2",
"0.4.2",
"v0.4.1",
"v0.4.0",
"v0.3.4",
"v0.3.3",
"v0.3.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-86112.json"
}
}
],
"modified": "2026-10-28T02:30:27.847250087Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/86xxx/CVE-2026-86112.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-86112",
"https://www.vulncheck.com/advisories/bookwyrm-through-0.9.1-missing-authorization-on-the-favorite-and-unfavorite-endpoints",
"https://github.com/bookwyrm-social/bookwyrm",
"https://github.com/bookwyrm-social/bookwyrm/blob/v0.9.1/bookwyrm/views/interaction.py",
"https://github.com/geo-chen/oss/blob/main/bookwyrm.md#finding-2-authenticated-idor-in-favoriteunfavorite-allows-interaction-with-private-statuses"
],
"provider_metadata": {
"cwe_ids": [
"CWE-639"
],
"cna_assigner": "VulnCheck",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/86xxx/CVE-2026-86112.json"
}
},
"related_cves": [
{
"value": "CVE-2026-86112",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 494360,
"published_at": "2026-09-05T09:59:04.004+00:00"
}