{"metadata": {"vulnerability": "cve-2026-50872", "count": 13, "kinds": {"milestone": 4, "sighting": 1, "kev": 0, "other": 8}}, "data": [{"timestamp": "2026-06-07T00:00:00Z", "date_only": false, "value": "2026-06-07T00:00:00.000Z", "kind": "milestone", "label": "Reserved", "source": "cvelistv5", "record": "cve-2026-50872", "field": "cveMetadata.dateReserved"}, {"timestamp": "2026-06-13T12:45:38Z", "date_only": false, "value": "2026-06-13T12:45:38.000000Z", "kind": "sighting", "label": "Seen", "source": "https://gist.github.com/pyuysig/272bf96c028ed45ad010b7c75937c914", "record": "CVE-2026-50872", "field": "creation_timestamp", "uuid": "786f6aec-79d9-4b36-a0e2-57e513bac287", "content": "# Vulnerability Report: CVE-2026-50872 - selfoss - Loopback trust handling can grant unintended access behind same-host proxy\n\n## Vulnerability Summary\nfossar selfoss 2.20-SNAPSHOT contains an incorrect access control issue in loopback request handling. When selfoss is deployed behind a same-host reverse proxy that forwards requests from 127.0.0.1 or ::1 without preserving the original client address, external attackers can be treated as trusted loopback clients and access privileged functionality, including SSRF through source title fetching.\n\n## Affected Product\n- **Vendor**: fossar\n- **Product**: selfoss\n- **Version**: 2.20-SNAPSHOT / 2.20 unreleased branch\n- **Vulnerable Component**: src/helpers/Authentication/AuthenticationFactory.php, src/helpers/Authentication/Services/Trust.php, POST /source, src/controllers/Sources/Write.php\n\n## Vulnerability Details\n- **Vulnerability Type**: Incorrect Access Control\n- **Weakness**: CWE-284, CWE-918\n- **Attack Conditions**: External request through a same-host reverse proxy that forwards to selfoss from loopback without X-Forwarded-For or Forwarded headers, followed by POST /source with an attacker-controlled RSS URL.\n\n## Report Body\n\n### Summary\nfossar selfoss 2.20-SNAPSHOT contains an incorrect access control issue in loopback request handling. When selfoss is deployed behind a same-host reverse proxy that forwards requests from 127.0.0.1 or ::1 without preserving the original client address, external attackers can be treated as trusted loopback clients and access privileged functionality, including SSRF through source title fetching.\n\n### Details\nThe trust/authentication layer treats loopback-originated requests as full-access trusted requests. In same-host reverse proxy deployments that do not forward original client address metadata, external traffic reaches selfoss with a loopback source address and inherits that trust decision.\n\n### PoC\n1. Prepare an environment matching the affected product and version above.\n2. Trigger the vulnerable component under the attack conditions described for CVE-2026-50872.\n3. Confirm the security result: A request routed through such a proxy can access protected selfoss functionality and trigger server-side fetches via POST /source.\n\n### Impact\nContext-dependent authentication bypass and follow-on SSRF through source creation/title fetching.\n\n## Remediation\nDo not grant full access solely based on loopback source address in reverse-proxy deployments. Require explicit trusted proxy configuration and authenticated sessions for sensitive endpoints.\n\n## Credit\n- Discoverer(s): Yuming Zhang and Song Li of Zhejiang University\n\n## Notes\nThis public reference is intended to support the CVE record with concise, factual vulnerability details. It intentionally avoids a full exploit release.\n", "url": "https://gist.github.com/pyuysig/272bf96c028ed45ad010b7c75937c914"}, {"timestamp": "2026-06-15T00:00:00Z", "date_only": false, "value": "2026-06-15T00:00:00.000Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "cve-2026-50872", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, {"timestamp": "2026-06-15T18:52:56.675Z", "date_only": false, "value": "2026-06-15T18:52:56.675Z", "kind": "other", "label": "Updated", "source": "cvelistv5 / mitre", "record": "cve-2026-50872", "field": "containers.cna.providerMetadata.dateUpdated"}, {"timestamp": "2026-06-15T20:16:29Z", "date_only": false, "value": "2026-06-15T20:16:29Z", "kind": "other", "label": "Nvd published at", "source": "github \u00b7 GHSA-GQMG-CFHG-MW2Q", "record": "GHSA-GQMG-CFHG-MW2Q", "field": "database_specific.nvd_published_at"}, {"timestamp": "2026-06-15T20:16:29.993Z", "date_only": false, "value": "2026-06-15T20:16:29.993", "kind": "milestone", "label": "Published", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-50872", "record": "FKIE_CVE-2026-50872", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event"}, {"timestamp": "2026-06-15T21:30:40Z", "date_only": false, "value": "2026-06-15T21:30:40Z", "kind": "milestone", "label": "Published", "source": "github \u00b7 GHSA-GQMG-CFHG-MW2Q", "record": "GHSA-GQMG-CFHG-MW2Q", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event"}, {"timestamp": "2026-06-16T14:22:24.137Z", "date_only": false, "value": "2026-06-16T14:22:24.137516Z", "kind": "other", "label": "Recorded", "source": "cvelistv5 / CISA-ADP", "record": "cve-2026-50872", "field": "containers.adp.0.metrics.1.other.content.timestamp"}, {"timestamp": "2026-06-16T14:22:24.137Z", "date_only": false, "value": "2026-06-16T14:22:24.137516Z", "kind": "other", "label": "Recorded", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-50872", "record": "FKIE_CVE-2026-50872", "field": "metrics.ssvcV203.0.ssvcData.timestamp"}, {"timestamp": "2026-06-16T14:23:11.402Z", "date_only": false, "value": "2026-06-16T14:23:11.402Z", "kind": "other", "label": "Updated", "source": "cvelistv5", "record": "cve-2026-50872", "field": "cveMetadata.dateUpdated"}, {"timestamp": "2026-06-16T14:23:11.402Z", "date_only": false, "value": "2026-06-16T14:23:11.402Z", "kind": "other", "label": "Updated", "source": "cvelistv5 / CISA-ADP", "record": "cve-2026-50872", "field": "containers.adp.0.providerMetadata.dateUpdated"}, {"timestamp": "2026-06-16T15:33:47Z", "date_only": false, "value": "2026-06-16T15:33:47Z", "kind": "other", "label": "Updated", "source": "github \u00b7 GHSA-GQMG-CFHG-MW2Q", "record": "GHSA-GQMG-CFHG-MW2Q", "field": "modified"}, {"timestamp": "2026-06-17T10:57:47.070Z", "date_only": false, "value": "2026-06-17T10:57:47.070", "kind": "other", "label": "Updated", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-50872", "record": "FKIE_CVE-2026-50872", "field": "lastModified"}], "metrics": {"as_of": "2026-11-02T06:27:54.709Z", "anchors": {"origin": {"timestamp": "2026-06-15T00:00:00Z", "date_only": false, "value": "2026-06-15T00:00:00.000Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "cve-2026-50872", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "discovery": null, "report": null, "acknowledgement": null, "disclosure": {"timestamp": "2026-06-15T00:00:00Z", "date_only": false, "value": "2026-06-15T00:00:00.000Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "cve-2026-50872", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "exploit_publication": null, "exploitation": null, "patch": null}, "vendor_response_time": {"available": false, "missing": ["start", "end"]}, "time_to_exploit": {"available": false, "missing": ["end"]}, "disclosure_to_exploit": {"available": false, "missing": ["end"]}, "disclosure_to_exploit_publication": {"available": false, "missing": ["end"]}, "time_to_patch": {"available": false, "missing": ["start", "end"]}, "total_time_to_patch": {"available": false, "missing": ["start", "end"]}, "disclosure_to_patch": {"available": false, "missing": ["end"]}, "time_unpatched": {"available": true, "seconds": 12119274.70985, "hours": 3366.4651971805556, "days": 140.2693832158565, "min_seconds": 12032874.70985, "max_seconds": 12119274.70985, "approximate": true, "ongoing": true, "order_known": true, "batch_listing": false, "end_before_start": false, "start": {"timestamp": "2026-06-15T00:00:00Z", "date_only": false, "value": "2026-06-15T00:00:00.000Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "cve-2026-50872", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "end": {"timestamp": "2026-11-02T06:27:54.709Z", "date_only": false, "label": "As of", "source": "Calculation clock"}}, "exploitation_to_patch": {"available": false, "missing": ["start"]}, "exploit_publication_to_patch": {"available": false, "missing": ["start"]}}}
