HexBrain

Browse / CVEs / CVE-2026-12583

CVE-2026-12583· newsletters-lite / newsletters-lite· CWE-502

Newsletters < 4.15 - Unauthenticated PHP Object Injection via Subscriber Custom Field

highseverity
8.1CVSS score
2%likelihood of exploitation, next 30 days
81%of all CVEs are less likely
Readycheck to confirm it

The Newsletters WordPress plugin before 4.15 does not prevent deserialization of untrusted input that is stored through a public form, allowing unauthenticated attackers to inject a PHP object and, via a property-oriented gadget chain bundled with the Newsletters WordPress plugin before 4.15, write arbitrary files and execute code on the server.

Impact

Unauthenticated attackers can execute arbitrary code and write files on the server, leading to full server compromise.

Fix

Update the Newsletters plugin to version 4.15 or later.

How to confirm it

Send: GET /wp-content/plugins/newsletters-lite/readme.txt
Positive when: compare_versions(version, "< 4.15") and status_code == 200
Send: POST /?wpmlmethod=optin
Positive when: matches in header /(?i)location:.*wpmlmethod=optin/ AND status 302

Run it with nuclei: nuclei -id CVE-2026-12583 -u <target>

The full check
id: CVE-2026-12583

info:
  name: Newsletters < 4.15 - Unauthenticated PHP Object Injection via Subscriber Custom Field
  author: yaswanth
  severity: high
  description: |
    The Newsletters WordPress plugin before 4.15 does not prevent deserialization of untrusted input that is stored through a public form, allowing unauthenticated attackers to inject a PHP object and, via a property-oriented gadget chain bundled with the Newsletters WordPress plugin before 4.15, write arbitrary files and execute code on the server.
  impact: |
    Unauthenticated attackers can execute arbitrary code and write files on the server, leading to full server compromise.
  remediation: Update the Newsletters plugin to version 4.15 or later.
  reference:
    - https://wpscan.com/vulnerability/e4c44105-f43d-4dff-8487-7d8ae2691c4e
    - https://nvd.nist.gov/vuln/detail/CVE-2026-12583
    - https://www.cve.org/CVERecord?id=CVE-2026-12583
    - https://wordpress.org/plugins/newsletters-lite/
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 8.1
    cve-id: CVE-2026-12583
    epss-score: 0.02027
    epss-percentile: 0.81179
    cwe-id: CWE-502
  metadata:
    verified: true
    max-request: 2
    vendor: newsletters-lite
    product: newsletters-lite
    framework: wordpress
    publicwww-query: "/wp-content/plugins/newsletters-lite"
    fofa-query: body="/wp-content/plugins/newsletters-lite"
  tags: cve,cve2026,wordpress,wp-plugin,newsletters-lite,unauth,deserialization,object-injection,rce

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

http:
  - raw:
      - |
        GET /wp-content/plugins/newsletters-lite/readme.txt HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - 'compare_versions(version, "< 4.15")'
          - 'status_code == 200'
        condition: and
        internal: true

    extractors:
      - type: regex
        name: version
        part: body
        internal: true
        group: 1
        regex:
          - '(?i)Stable tag:\s*([0-9.]+)'

  - raw:
      - |
        POST /?wpmlmethod=optin HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        email={{randstr}}%40example.com&list_id%5B%5D=1&consent%5B%5D=1&firstname=O%3A1%3A%22a%22%3A0%3A%7B%7D

    matchers-condition: and
    matchers:
      - type: regex
        part: header
        regex:
          - '(?i)location:.*wpmlmethod=optin'

      - type: status
        status:
          - 302

References

Use this check only on systems you are authorised to test. Where the data comes from