id: CVE-2024-25608

info:
  name: Liferay Portal - Open Redirect
  author: daffainfo
  severity: medium
  description: |
    HtmlUtil.escapeRedirect in Liferay Portal 7.2.0 through 7.4.3.18, and older unsupported versions, and Liferay DXP 7.4 before update 19, 7.3 before update 4, 7.2 before fix pack 19, and older unsupported versions can be circumvented by using the 'REPLACEMENT CHARACTER' (U+FFFD), which allows remote attackers to redirect users to arbitrary external URLs via the (1) 'redirect` parameter (2) `FORWARD_URL` parameter, (3) `noSuchEntryRedirect` parameter, and (4) others parameters that rely on HtmlUtil.escapeRedirect.
  impact: |
    Attackers can redirect users to arbitrary external URLs, potentially leading to phishing or malware distribution.
  remediation: |
    Update to the latest supported versions of Liferay Portal and DXP, applying all security patches.
  reference:
    - https://liferay.dev/portal/security/known-vulnerabilities/-/asset_publisher/jekt/content/cve-2024-25608
    - https://github.com/liferay/liferay-portal/commit/aea651fa5110934b6a00d93391fac87985e27786
    - https://github.com/liferay/liferay-portal/commit/36adf82ef7a09c7035d4f19a1982dcde1ae3f6ae
    - https://nvd.nist.gov/vuln/detail/CVE-2024-25608
  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-2024-25608
    epss-score: 0.1765
    epss-percentile: 0.95196
    cwe-id: CWE-601
    cpe: cpe:2.3:a:liferay:digital_experience_platform:*:*:*:*:*:*:*:*,cpe:2.3:a:liferay:liferay_portal:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: liferay
    product: digital_experience_platform,liferay_portal
    shodan-query: http.favicon.hash:129457226
    fofa-query: icon_hash=129457226
  tags: cve,cve2024,liferay,liferay-portal,digital-experience-platform,open-redirect,vkev

http:
  - method: GET
    path:
      - "{{BaseURL}}/html/common/forward_jsp.jsp?FORWARD_URL=http://oast.me%EF%BF%BD@localhost"

    matchers-condition: and
    matchers:
      - type: word
        part: location
        words:
          - 'http://oast.me?@localhost'

      - type: status
        status:
          - 302
# digest: 4b0a00483046022100d5c2fdd44c21291b6ab45dc0152420e6573e67b8a2a66dde2713a180235dbcdb022100fe630a5ce9806a89d042c90e7048e34c1f327460ad56c7457004e6dcb7223889:922c64590222798bb761d5b6d8e72950