{"id":"CVE-2026-85097","aliases":["EUVD-2026-94793","GHSA-jfvp-gc8p-45gp"],"status":"published","title":"Bricksforge \u003c= 3.1.8.9 - Unauthenticated Arbitrary File Upload via 'temporaryFileUploads' Parameter","description":"The Bricksforge plugin for WordPress is vulnerable to unauthenticated arbitrary file upload in versions up to, and including, 3.1.8.9. This is due to insufficient validation of the attacker-controlled URL field in the 'temporaryFileUploads' parameter during form submission. An unauthenticated attacker can first obtain a valid nonce via the bricksforge_regenerate_nonce AJAX endpoint, then upload a GIF/PHP polyglot file to the temporary upload directory where MIME type validation is correctly performed. Subsequently, the attacker can submit a form with a crafted 'temporaryFileUploads' parameter where the server-side file path points to the validated GIF file, but the attacker-controlled url field ends with a .php extension. This makes it possible for unauthenticated attackers to upload and execute arbitrary PHP code on the server.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.03287,"percentile":0.88635,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":true,"fix_available":false},"cwes":["CWE-434"],"published":"2026-10-08T06:42:09Z","modified":"2026-10-08T17:24:11Z","exploits":[{"source":"nuclei","id":"CVE-2026-85097","title":"Bricksforge WordPress Plugin \u003c=3.1.8.9 - Unauthenticated Arbitrary File Upload","type":"detection template","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2026/CVE-2026-85097.yaml"},{"source":"pocgithub","id":"BlackHatExploitation/CVE-2026-85097","title":"BlackHatExploitation/CVE-2026-85097","date":"2026-10-15","url":"https://github.com/BlackHatExploitation/CVE-2026-85097"},{"source":"pocgithub","id":"Masriyan/CVE-2026-85097","title":"Masriyan/CVE-2026-85097","date":"2026-10-13","url":"https://github.com/Masriyan/CVE-2026-85097"},{"source":"pocgithub","id":"RootMantap/CVE-2026-85097","title":"RootMantap/CVE-2026-85097","date":"2026-10-14","url":"https://github.com/RootMantap/CVE-2026-85097"},{"source":"pocgithub","id":"Wayang1337/CVE-2026-85097","title":"Wayang1337/CVE-2026-85097","date":"2026-10-10","url":"https://github.com/Wayang1337/CVE-2026-85097"},{"source":"pocgithub","id":"tc4dy/CVE-2026-85097-Toolkit","title":"tc4dy/CVE-2026-85097-Toolkit","date":"2026-10-12","url":"https://github.com/tc4dy/CVE-2026-85097-Toolkit"}],"products":[{"vendor":"bricksforge","product":"bricksforge"}],"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/e993c929-f175-43a7-92e6-9d3b089b8dde?source=cve"},{"url":"https://bricksforge.io/version-changelog/"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-85097"},{"url":"https://bricksforge.io/version-changelog"},{"url":"https://github.com/advisories/GHSA-jfvp-gc8p-45gp"}],"sources":{"cve":[{"id":"CVE-2026-85097","title":"Bricksforge \u003c= 3.1.8.9 - Unauthenticated Arbitrary File Upload via 'temporaryFileUploads' Parameter","description":"The Bricksforge plugin for WordPress is vulnerable to unauthenticated arbitrary file upload in versions up to, and including, 3.1.8.9. This is due to insufficient validation of the attacker-controlled URL field in the 'temporaryFileUploads' parameter during form submission. An unauthenticated attacker can first obtain a valid nonce via the bricksforge_regenerate_nonce AJAX endpoint, then upload a GIF/PHP polyglot file to the temporary upload directory where MIME type validation is correctly performed. Subsequently, the attacker can submit a form with a crafted 'temporaryFileUploads' parameter where the server-side file path points to the validated GIF file, but the attacker-controlled url field ends with a .php extension. This makes it possible for unauthenticated attackers to upload and execute arbitrary PHP code on the server.","status":"published","published":"2026-10-08T06:42:09.676Z","modified":"2026-10-08T14:24:41.018Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"cna"}],"cwes":["CWE-434"],"updated_at":"2026-11-02T14:19:52.773089Z"}],"euvd":[{"id":"EUVD-2026-94793","description":"The Bricksforge plugin for WordPress is vulnerable to unauthenticated arbitrary file upload in versions up to, and including, 3.1.8.9. This is due to insufficient validation of the attacker-controlled URL field in the 'temporaryFileUploads' parameter during form submission. An unauthenticated attacker can first obtain a valid nonce via the bricksforge_regenerate_nonce AJAX endpoint, then upload a GIF/PHP polyglot file to the temporary upload directory where MIME type validation is correctly performed. Subsequently, the attacker can submit a form with a crafted 'temporaryFileUploads' parameter where the server-side file path points to the validated GIF file, but the attacker-controlled url field ends with a .php extension. This makes it possible for unauthenticated attackers to upload and execute arbitrary PHP code on the server.","status":"published","published":"2026-10-08T06:42:09Z","modified":"2026-10-08T14:24:41Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T17:27:32.642438Z"}],"ghsa":[{"id":"GHSA-jfvp-gc8p-45gp","title":"The Bricksforge plugin for WordPress is vulnerable to unauthenticated arbitrary file upload in...","description":"The Bricksforge plugin for WordPress is vulnerable to unauthenticated arbitrary file upload in versions up to, and including, 3.1.8.9. This is due to insufficient validation of the attacker-controlled URL field in the 'temporaryFileUploads' parameter during form submission. An unauthenticated attacker can first obtain a valid nonce via the bricksforge_regenerate_nonce AJAX endpoint, then upload a GIF/PHP polyglot file to the temporary upload directory where MIME type validation is correctly performed. Subsequently, the attacker can submit a form with a crafted 'temporaryFileUploads' parameter where the server-side file path points to the validated GIF file, but the attacker-controlled url field ends with a .php extension. This makes it possible for unauthenticated attackers to upload and execute arbitrary PHP code on the server.","status":"published","published":"2026-10-08T09:31:54Z","modified":"2026-10-08T09:31:58Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-434"],"updated_at":"2026-11-02T15:12:55.932488Z"}],"nvd":[{"id":"CVE-2026-85097","description":"The Bricksforge plugin for WordPress is vulnerable to unauthenticated arbitrary file upload in versions up to, and including, 3.1.8.9. This is due to insufficient validation of the attacker-controlled URL field in the 'temporaryFileUploads' parameter during form submission. An unauthenticated attacker can first obtain a valid nonce via the bricksforge_regenerate_nonce AJAX endpoint, then upload a GIF/PHP polyglot file to the temporary upload directory where MIME type validation is correctly performed. Subsequently, the attacker can submit a form with a crafted 'temporaryFileUploads' parameter where the server-side file path points to the validated GIF file, but the attacker-controlled url field ends with a .php extension. This makes it possible for unauthenticated attackers to upload and execute arbitrary PHP code on the server.","status":"published","published":"2026-10-08T07:16:31.71Z","modified":"2026-10-08T17:24:11.23Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"secondary"}],"cwes":["CWE-434"],"updated_at":"2026-11-02T14:12:55.142936Z"}]}}
