{"schemaVersion":3,"id":"CVE-2026-18855","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"The Link Library plugin for WordPress is vulnerable to arbitrary file deletion due to insufficient file path validation in the ll_delete_link_fields function in all versions up to, and including, 7.9.4 This makes it possible for unauthenticated attackers to delete arbitrary files on the server, which can easily lead to remote code execution when the right file is deleted (such as wp-config.php). Exploitation requires the administrator to have enabled the 'Delete local file on link deletion' plugin option (disabled by default) and to subsequently permanently delete the attacker-submitted link, which is a routine moderation action.","dates":{"published":"2026-08-15T18:25:57.238Z","modified":"2026-08-17T16:06:52.294Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":9.1,"severity":"critical","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":9.1,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":9.1,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"wordfence","score":9.1,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.01352,"percentile":0.71127,"severity":"low","asOf":"2026-10-19T00:00:00.000Z","change":{"pp":0.14600000000000013,"baselineDate":"2026-09-19T00:00:00.000Z","baselineScore":0.01206},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.01206,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.01206,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.01206,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.01206,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.01206,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.01206,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.01206,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.01206,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.01206,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.01206,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.01352,"percentile":0.71127}],"last30":[{"date":"2026-09-19T00:00:00.000Z","score":0.01206,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.01206,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.01206,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.01206,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.01206,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.01352,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.01352,"percentile":0.71127}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-22","name":"Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","description":"The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/22.html"}],"affected":[{"vendor":"jackdewey","product":"link library","name":"Link Library","label":"link library","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≤ 7.9.4","noFixRecorded":false,"fixedIn":null}],"versionsText":"≤ 7.9.4","eol":null,"hubHref":"/vendor/jackdewey/link_library"},{"vendor":"wordpress","product":"link-library","name":"Link Library","label":"link-library","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≤ 7.9.4 (fixed in 7.9.5)","noFixRecorded":false,"fixedIn":"7.9.5"}],"versionsText":"≤ 7.9.4 (fixed in 7.9.5)","eol":null,"hubHref":null}],"affectedCount":2,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/41327dfa-db64-476a-a263-7bd4f69fb857?source=cve","label":"www.wordfence.com/threat-intel/vulnerabilities/id/41327dfa-db64-476a-a263-7bd4f69fb857?source=cve","hostname":"www.wordfence.com","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/link-library/tags/7.9.4/link-library-admin.php#L7874","label":"plugins.trac.wordpress.org/browser/link-library/tags/7.9.4/link-library-admin.php","hostname":"plugins.trac.wordpress.org","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/link-library/tags/7.9.4/link-library-admin.php#L7865","label":"plugins.trac.wordpress.org/browser/link-library/tags/7.9.4/link-library-admin.php","hostname":"plugins.trac.wordpress.org","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/link-library/tags/7.9.4/usersubmission.php#L52","label":"plugins.trac.wordpress.org/browser/link-library/tags/7.9.4/usersubmission.php","hostname":"plugins.trac.wordpress.org","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/link-library/tags/7.9.4/usersubmission.php#L476","label":"plugins.trac.wordpress.org/browser/link-library/tags/7.9.4/usersubmission.php","hostname":"plugins.trac.wordpress.org","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/link-library/tags/7.9.4/link-library.php#L2288","label":"plugins.trac.wordpress.org/browser/link-library/tags/7.9.4/link-library.php","hostname":"plugins.trac.wordpress.org","tags":[]},{"url":"https://plugins.trac.wordpress.org/changeset?reponame=&new=3646361%40link-library%2Ftags%2F7.9.5&old=3626573%40link-library%2Ftags%2F7.9.4","label":"plugins.trac.wordpress.org/changeset","hostname":"plugins.trac.wordpress.org","tags":[]},{"url":"https://plugins.trac.wordpress.org/changeset/3646360/link-library/trunk/link-library-admin.php","label":"plugins.trac.wordpress.org/changeset/3646360/link-library/trunk/link-library-admin.php","hostname":"plugins.trac.wordpress.org","tags":[]},{"url":"https://plugins.trac.wordpress.org/changeset?old_path=%2Flink-library/tags/7.9.4&new_path=%2Flink-library/tags/7.9.5","label":"plugins.trac.wordpress.org/changeset","hostname":"plugins.trac.wordpress.org","tags":[]},{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/41327dfa-db64-476a-a263-7bd4f69fb857","label":"www.wordfence.com/threat-intel/vulnerabilities/id/41327dfa-db64-476a-a263-7bd4f69fb857","hostname":"www.wordfence.com","tags":["Vendor Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-08-15T18:25:57.238Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-08-17T16:06:52.294Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":70,"level":"high","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-19T21:32:14.399Z","stale":false,"partial":false}}