{"items":[{"id":"NVI-00008067","kind":"vulnerability","title":"Duplicate Advisory: Grav: Path Traversal in MediaUploadTrait::deleteFile() Allows Arbitrary File Deletion","revision":2,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"withdrawn","identifiers":["GHSA-896w-cw95-xq7w"],"plain_summary":"GitHub lists this reviewed advisory for getgrav/grav. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-f480ffa435161e76f2bc4b571c49d20d"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-09-17T20:33:41.000Z","value":"8.1 high","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-501e2806d9af11ae10db772a30458918"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-501e2806d9af11ae10db772a30458918","url":"https://github.com/advisories/GHSA-896w-cw95-xq7w","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-896w-cw95-xq7w","publisher":"GitHub Advisory Database","observed_at":"2026-11-01T14:29:49.409Z"},{"id":"sr-f480ffa435161e76f2bc4b571c49d20d","url":"https://github.com/advisories/GHSA-896w-cw95-xq7w","basis":"vendor_advisory","notes":"GitHub-origin advisory, CC-BY-4.0; OSV is an aggregate copy, not independent corroboration.","title":"GHSA-896w-cw95-xq7w","publisher":"GitHub Advisory Database via OSV","observed_at":"2026-10-31T21:41:59.959Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-501e2806d9af11ae10db772a30458918"],"technology":"getgrav/grav","known_exclusions":[],"conditions_summary":"### Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-jq29-c7v8-rg55. This link is maintained to preserve external references.\n\n### Original Description\nGrav before 2.0.16 contains a path traversal vulnerability in MediaUploadTrait::deleteFile() that allows authenticated users with media management permissions to delete arbitrary files by supplying filenames with directory traversal sequences. The method validates only the basename portion of the filename while preserving unvalidated directory paths containing ../ sequences that are passed to unlink(), enabling deletion of files outside the intended media storage directory.","public_affected_ranges":["< 2.0.16"]},{"certainty":"source_listed","source_ids":["sr-f480ffa435161e76f2bc4b571c49d20d"],"technology":"getgrav/grav","known_exclusions":[],"conditions_summary":"### Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-jq29-c7v8-rg55. This link is maintained to preserve external references.\n\n### Original Description\nGrav before 2.0.16 contains a path traversal vulnerability in MediaUploadTrait::deleteFile() that allows authenticated users with media management permissions to delete arbitrary files by supplying filenames with directory traversal sequences. The method validates only the basename portion of the filename while preserving unvalidated directory paths containing ../ sequences that are passed to unlink(), enabling deletion of files outside the intended media storage directory.","public_affected_ranges":["ECOSYSTEM: introduced 0"]}],"null_published_at":"2026-11-02T10:00:37.213Z","source_updated_at":"2026-09-17T20:33:41.000Z","source_disclosed_at":"2026-08-25T03:32:09.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Source facts changed; compare the preserved prior revision.","null_first_observed_at":"2026-10-31T21:41:59.959Z"},{"id":"NVI-00008067","kind":"vulnerability","title":"Duplicate Advisory: Grav: Path Traversal in MediaUploadTrait::deleteFile() Allows Arbitrary File Deletion","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"withdrawn","identifiers":["GHSA-896w-cw95-xq7w"],"plain_summary":"OSV carries this publisher advisory for getgrav/grav. This is an aggregated source copy; consult the original publisher and compare update dates.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-f480ffa435161e76f2bc4b571c49d20d"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-f480ffa435161e76f2bc4b571c49d20d","url":"https://github.com/advisories/GHSA-896w-cw95-xq7w","basis":"vendor_advisory","notes":"GitHub-origin advisory, CC-BY-4.0; OSV is an aggregate copy, not independent corroboration.","title":"GHSA-896w-cw95-xq7w","publisher":"GitHub Advisory Database via OSV","observed_at":"2026-10-31T21:41:59.959Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-f480ffa435161e76f2bc4b571c49d20d"],"technology":"getgrav/grav","known_exclusions":[],"conditions_summary":"### Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-jq29-c7v8-rg55. This link is maintained to preserve external references.\n\n### Original Description\nGrav before 2.0.16 contains a path traversal vulnerability in MediaUploadTrait::deleteFile() that allows authenticated users with media management permissions to delete arbitrary files by supplying filenames with directory traversal sequences. The method validates only the basename portion of the filename while preserving unvalidated directory paths containing ../ sequences that are passed to unlink(), enabling deletion of files outside the intended media storage directory.","public_affected_ranges":["ECOSYSTEM: introduced 0"]}],"null_published_at":"2026-10-31T22:13:22.828Z","source_updated_at":"2026-09-17T20:45:05.783Z","source_disclosed_at":"2026-08-25T03:32:09.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-10-31T21:41:59.959Z"}],"next_cursor":null,"snapshot_revision":"42594"}