{"id":"CVE-2026-124635","kind":"vulnerability","aliases":["CVE-2026-124635"],"related":[],"title":"PureBlog: admin image upload endpoint allows unrestricted file uploads","description":"A vulnerability was identified in kevquirk PureBlog up to 3.7.2. Impacted is an unknown function of the file admin/upload-image.php of the component Admin Image Upload Endpoint. Such manipulation leads to unrestricted upload. The attack may be launched remotely. Upgrading to version 3.7.3 is recommended to address this issue. The name of the patch is 71f5b0de2ecb2bb2934048ed40e1155c107484e3. You should upgrade the affected component. The vendor was contacted early, responded in a very professional manner and quickly released a fixed version of the affected product.","summary":"PureBlog, a PHP blogging tool, has a flaw in its admin image upload script (admin/upload-image.php) that accepts files without proper restriction. A remote attacker may be able to upload files to the server, and the sources do not say whether that leads to code execution.","severity":"medium","cvss":5.8,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["other","php","pureblog","self-hosted"],"not_affected_if":["version-3.7.3-or-later"],"how_to_check":"- Look for admin/upload-image.php in the PureBlog install directory\n- Check the installed version against `3.7.2` (versions up to and including it are affected)\n- Run `unknown` for any other check: the sources do not give one","fix":"- PureBlog: upgrade to `3.7.3`","status":"open","published_at":"2026-11-09T14:17:16+00:00","first_seen_at":"2026-11-09T14:26:59+00:00","triaged_at":"2026-11-09T14:27:45+00:00","updated_at":"2026-11-09T14:27:45+00:00","category":"other","confidence":0.6,"triage":{"at":"2026-11-09T14:27:45Z","model":"claude-haiku-5-5","output":{"fix":"- PureBlog: upgrade to `3.7.3`","reach":"internet","title":"PureBlog: admin image upload endpoint allows unrestricted file uploads","impact":"medium","summary":"PureBlog, a PHP blogging tool, has a flaw in its admin image upload script (admin/upload-image.php) that accepts files without proper restriction. A remote attacker may be able to upload files to the server, and the sources do not say whether that leads to code execution.","audience":"businesses","category":"other","nicknames":[],"who_cares":["pureblog","php","self-hosted"],"confidence":0.6,"fix_status":"available","needs_auth":"unknown","worst_case":"attacker uploads arbitrary files to the blog server","analyst_note":"Confirm whether admin login is required and whether uploaded files can be executed; check the linked fix commit and release notes on github.com.","how_to_check":"- Look for admin/upload-image.php in the PureBlog install directory\n- Check the installed version against `3.7.2` (versions up to and including it are affected)\n- Run `unknown` for any other check: the sources do not give one","plain_action":"","product_name":"","needs_analyst":true,"not_affected_if":["version-3.7.3-or-later"],"who_is_affected":"Sites running PureBlog up to and including 3.7.2 that expose the admin image upload endpoint. The sources do not say whether the admin login is required, so treat any internet-facing install as in scope. Sites on a later version or not running PureBlog can skip it.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000744,"input_tokens":4670,"output_tokens":555,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-124635':12A,15A '-2026':11A,14A '3.7.2':76C '3.7.3':108C '71f5b0de2ecb2bb2934048ed40e1155c107484e3':121C 'abl':48B 'accept':38B 'address':112C 'admin':2A,32B,89C 'admin/upload-image.php':36B,85C 'affect':126C,147C 'allow':6A 'attack':45B,100C 'blog':25B 'code':65B 'compon':88C,127C 'contact':131C 'cve':10A,13A 'earli':132C 'endpoint':5A,92C 'execut':66B 'file':8A,39B,51B,84C 'fix':143C 'flaw':29B 'function':81C 'host':21B 'identifi':70C 'imag':3A,33B,90C 'impact':77C 'issu':114C 'kevquirk':72C 'launch':103C 'lead':63B,95C 'manipul':94C 'manner':138C 'may':46B,101C 'name':116C 'patch':119C 'php':17B,24B 'product':148C 'profession':137C 'proper':41B 'pureblog':1A,18B,22B,73C 'quick':140C 'recommend':110C 'releas':141C 'remot':44B,104C 'respond':133C 'restrict':42B 'say':60B 'script':35B 'self':20B 'self-host':19B 'server':54B 'sourc':57B 'tool':26B 'unknown':80C 'unrestrict':7A,97C 'upgrad':105C,124C 'upload':4A,9A,34B,50B,91C,98C 'vendor':129C 'version':107C,144C 'vulner':68C 'whether':61B 'without':40B","nicknames":[],"mitigations":[],"who_affected":"Sites running PureBlog up to and including 3.7.2 that expose the admin image upload endpoint. The sources do not say whether the admin login is required, so treat any internet-facing install as in scope. Sites on a later version or not running PureBlog can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["medium","other","php","pureblog","selfhosted"],"campaign_type":null,"search_a":"'-124635':12A,15A '-2026':11A,14A 'admin':2A 'allow':6A 'cve':10A,13A 'endpoint':5A 'file':8A 'imag':3A 'pureblog':1A 'unrestrict':7A 'upload':4A,9A","search_b":"'abl':48B 'accept':38B 'admin':32B 'admin/upload-image.php':36B 'attack':45B 'blog':25B 'code':65B 'execut':66B 'file':39B,51B 'flaw':29B 'host':21B 'imag':33B 'lead':63B 'may':46B 'php':17B,24B 'proper':41B 'pureblog':18B,22B 'remot':44B 'restrict':42B 'say':60B 'script':35B 'self':20B 'self-host':19B 'server':54B 'sourc':57B 'tool':26B 'upload':34B,50B 'whether':61B 'without':40B","search_c":"'3.7.2':76C '3.7.3':108C '71f5b0de2ecb2bb2934048ed40e1155c107484e3':121C 'address':112C 'admin':89C 'admin/upload-image.php':85C 'affect':126C,147C 'attack':100C 'compon':88C,127C 'contact':131C 'earli':132C 'endpoint':92C 'file':84C 'fix':143C 'function':81C 'identifi':70C 'imag':90C 'impact':77C 'issu':114C 'kevquirk':72C 'launch':103C 'lead':95C 'manipul':94C 'manner':138C 'may':101C 'name':116C 'patch':119C 'product':148C 'profession':137C 'pureblog':73C 'quick':140C 'recommend':110C 'releas':141C 'remot':104C 'respond':133C 'unknown':80C 'unrestrict':97C 'upgrad':105C,124C 'upload':91C,98C 'vendor':129C 'version':107C,144C 'vulner':68C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-09T14:17:16+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"cna@vuldb.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-124635","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-124635","severity":null,"published_at":"2026-11-09T14:17:16+00:00","modified_at":"2026-11-09T14:17:16+00:00","first_seen_at":"2026-11-09T14:26:59+00:00","fetched_at":"2026-11-09T14:26:59+00:00","note":null}],"documents":[{"id":107773,"url":"https://github.com/kevquirk/pureblog/commit/71f5b0de2ecb2bb2934048ed40e1155c107484e3","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":107774,"url":"https://github.com/kevquirk/pureblog/releases/tag/v3.7.3","title":"Release notes: github.com","kind":"release","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Release notes: github.com"}],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}