CVE-2022-28977
Status: ModifiedMedium (6.1)—
HtmlUtil.escapeRedirect in Liferay Portal 7.3.1 through 7.4.2, and Liferay DXP 7.0 fix pack 91 through 101, 7.1 fix pack 17 through 25, 7.2 fix pack 5 through 14, and 7.3 before service pack 3 can be circumvented by using multiple forward slashes, which allows remote attackers to redirect users to arbitrary external URLs via the (1) 'redirect` parameter (2) `FORWARD_URL` parameter, and (3) others parameters that rely on HtmlUtil.escapeRedirect.
CVSS
- Version: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
- Base score: 6.1
Exploitation probability (EPSS)
- Probability of exploitation in the next 30 days: 0.59%
- Percentile among all scored CVEs: 46
- Score date: 10/6/2026
EPSS (Exploit Prediction Scoring System, FIRST) estimates how likely a vulnerability is to be exploited in the wild within 30 days. It complements CVSS (impact) and CISA KEV (confirmed exploitation).
Affected technologies (3)
CWEs
- CWE-601
- CWE-601
References
- https://portal.liferay.dev/learn/security/known-vulnerabilities/-/asset_publisher/HbL5mxmVrnXW/content/cve-2022-28977-htmlutil.escaperedirect-circumvention-with-multiple-forward-slash
- https://portal.liferay.dev/learn/security/known-vulnerabilities/-/asset_publisher/HbL5mxmVrnXW/content/cve-2022-28977-htmlutil.escaperedirect-circumvention-with-multiple-forward-slash
Raw JSON (NVD)
Show
{
"id": "CVE-2022-28977",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2022-28977",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2025-05-27T16:00:44.111370Z"
}
}
],
"cvssMetricV31": [
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "CHANGED",
"version": "3.1",
"baseScore": 6.1,
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N",
"integrityImpact": "LOW",
"userInteraction": "REQUIRED",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "LOW"
},
"impactScore": 2.7,
"exploitabilityScore": 2.8
},
{
"type": "Secondary",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"cvssData": {
"scope": "CHANGED",
"version": "3.1",
"baseScore": 6.1,
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N",
"integrityImpact": "LOW",
"userInteraction": "REQUIRED",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "LOW"
},
"impactScore": 2.7,
"exploitabilityScore": 2.8
}
]
},
"affected": [
{
"source": "cve@mitre.org",
"affectedData": [
{
"vendor": "n/a",
"product": "n/a",
"versions": [
{
"status": "affected",
"version": "n/a"
}
]
}
]
}
],
"published": "2022-09-22T01:15:10.753",
"references": [
{
"url": "https://portal.liferay.dev/learn/security/known-vulnerabilities/-/asset_publisher/HbL5mxmVrnXW/content/cve-2022-28977-htmlutil.escaperedirect-circumvention-with-multiple-forward-slash",
"tags": [
"Patch",
"Vendor Advisory"
],
"source": "cve@mitre.org"
},
{
"url": "https://portal.liferay.dev/learn/security/known-vulnerabilities/-/asset_publisher/HbL5mxmVrnXW/content/cve-2022-28977-htmlutil.escaperedirect-circumvention-with-multiple-forward-slash",
"tags": [
"Patch",
"Vendor Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
],
"vulnStatus": "Modified",
"weaknesses": [
{
"type": "Primary",
"source": "nvd@nist.gov",
"description": [
{
"lang": "en",
"value": "CWE-601"
}
]
},
{
"type": "Secondary",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"description": [
{
"lang": "en",
"value": "CWE-601"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "HtmlUtil.escapeRedirect in Liferay Portal 7.3.1 through 7.4.2, and Liferay DXP 7.0 fix pack 91 through 101, 7.1 fix pack 17 through 25, 7.2 fix pack 5 through 14, and 7.3 before service pack 3 can be circumvented by using multiple forward slashes, which allows remote attackers to redirect users to arbitrary external URLs via the (1) 'redirect` parameter (2) `FORWARD_URL` parameter, and (3) others parameters that rely on HtmlUtil.escapeRedirect."
},
{
"lang": "es",
"value": "El archivo HtmlUtil.escapeRedirect en Liferay Portal versiones 7.3.1 hasta 7.4.2, y Liferay DXP versiones 7.0 fix pack 91 hasta 101, 7.1 fix pack 17 hasta 25, 7.2 fix pack 5 hasta 14, y 7. 3 anteriores a service pack 3, puede ser omitido mediante el uso de múltiples barras diagonales, lo que permite a atacantes remotos redirigir a usuarios a URLs externas arbitrarias por medio del parámetro (1) \"redirect\" (2) \"FORWARD_URL\" y (3) otros parámetros que dependen de HtmlUtil.escapeRedirect"
}
],
"lastModified": "2026-07-09T01:17:26.460",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.0:-:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "4614C87F-F39C-4ADD-A7A2-4A498612AD38"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.0:fix_pack_100:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "8C9B7CF8-5553-47B6-BB57-0429D78AE301"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.0:fix_pack_101:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "FF82A60A-EA50-4409-9A2B-284C35315DF6"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.0:fix_pack_91:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "3810319D-7DC4-47DD-B568-B0504DBC8209"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.0:fix_pack_92:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "D9BFFFC0-912A-4F95-A08E-1D264135D1E2"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.0:fix_pack_93:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "9EA924E7-DEF2-45BF-B435-C435AC20AF4E"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.0:fix_pack_94:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "E6809C30-9A81-45E6-92E9-01D54880EFEE"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.0:fix_pack_95:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "C194ACCD-CB7E-4DFC-ABB5-7CCEFD83E11B"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.0:fix_pack_96:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "69856C3C-2ACB-4718-821C-793118094985"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.0:fix_pack_97:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "8693CC24-CEF6-4479-A3DA-8FD5C73E9548"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.0:fix_pack_98:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "B1A95A94-83C6-4DCC-8208-B76B53678B25"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.0:fix_pack_99:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "A1831C4F-7887-489E-91C1-3997114917DD"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.1:-:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "27DF695E-B890-42C2-8941-5BB53154755F"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.1:fix_pack_17:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "0AB19E97-BACE-4FCC-A53F-078D61A7A9E8"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.1:fix_pack_18:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "D18ACD28-9182-435C-A30F-DF3BFE13C39A"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.1:fix_pack_19:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "CFE4CC72-C15A-40DE-AFF4-0B6B79BFB2BA"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.1:fix_pack_20:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "43C11288-1C48-47A0-95DF-A48F3C0285F6"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.1:fix_pack_21:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "5ECF3B18-D0DB-4FB6-9F6F-B63A6CE45081"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.1:fix_pack_22:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "79AC7C0B-4135-4C24-8D37-A9431156E3E9"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.1:fix_pack_23:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "7289F71D-ECEB-4FB9-A53F-D3F4D1315ADD"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.1:fix_pack_24:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "C18AE68F-6EF0-4132-A3D8-C2D77A842137"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.1:fix_pack_25:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "4C5F0729-7B44-4B9E-949F-6A66D8176E11"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.2:-:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "0DCF7F39-A198-4F7E-84B7-90C88C1BAA96"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.2:fix_pack_10:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "340DF1FE-5720-4516-BA51-F2197A654409"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.2:fix_pack_11:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "97E155DE-05C6-4559-94A8-0EFEB958D0C9"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.2:fix_pack_12:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "0635FB5F-9C90-49C7-A9EF-00C0396FCCAE"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.2:fix_pack_13:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "77523B76-FC26-41B1-A804-7372E13F4FB2"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.2:fix_pack_14:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "B15397B8-5087-4239-AE78-D3C37D59DE83"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.2:fix_pack_5:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "B2B771B7-D5CB-4778-A3A8-1005E4EE134C"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.2:fix_pack_6:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "3B9DB383-3791-4A43-BA4D-7695B203E736"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.2:fix_pack_7:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "13F02D77-20E9-4F32-9752-511EB71E6704"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.2:fix_pack_8:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "6353CC8F-A6D4-4A0C-8D68-290CD8DEB4F8"
},
{
"criteria": "cpe:2.3:a:liferay:digital_experience_platform:7.2:fix_pack_9:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "759DDB90-6A89-4E4F-BD04-F70EFA5343B0"
},
{
"criteria": "cpe:2.3:a:liferay:dxp:7.3:-:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "21C55D41-DB66-494D-BEEB-BDAC7CB4B31B"
},
{
"criteria": "cpe:2.3:a:liferay:dxp:7.3:sp1:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "9D75A0FF-BAEA-471A-87B2-8EC2A9F0A6B5"
},
{
"criteria": "cpe:2.3:a:liferay:dxp:7.3:sp2:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "D86CDCC0-9655-477B-83FA-ADDBB5AF43A2"
},
{
"criteria": "cpe:2.3:a:liferay:liferay_portal:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "22E35E99-E5B4-4A85-84CE-3139AFF96B85",
"versionEndExcluding": "7.4.3.4",
"versionStartIncluding": "7.3.1"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "cve@mitre.org"
}