CVE-2017-14735OWASP AntiSamy before 1.5.7 allows XSS via HTML5 entities, as demonstrated by use of : to construct a javascript: URL.
CWE-79 · Cross-site scripting
No public exploit
Nothing published shows this CVE being exploited, which is not the same as ruling it out. nothing published in 8 years.
CVSS E:U
A Waratek agent blocks this today.
Applicable rule: CVE has an ARMR patch rule that provides mitigation
| Decided by | armr-patch-file : An ARMR patch file on disk for this CVE |
|---|---|
| Finding | CVE has an ARMR patch rule that provides mitigation |
Shipped files covering this CVE. A CVE genuinely takes more than one: separate Maven artifacts hooking different parser classes, the same patch built for two ARMR versions, or a fix at both the framework and the container.
rules/libraries/owasp/antisamy/CVE-2017-14735/patch/2.6/CVE-2017-14735.armr patch rule added 2020-06-25 updated 2026-03-04app("OWASP ANTISAMY"):
requires(version: ARMR/2.6)
/***************************************************************************
CVE-2017-14735 (OWASP ANTISAMY)
CVSS 3.0 metrics:
Base Score | 6.1 MEDIUM
Attack Vector | Network
Attack Complexity | Low
Privileges Required | None
User Interaction | Required
Scope | Changed
Confidentiality | Low
Integrity | Low
Availability | None
Description:
OWASP AntiSamy before 1.5.7 allows XSS via HTML5 entities,
as demonstrated by use of : to construct a javascript: URL.
Resources:
https://github.com/nahsra/antisamy/issues/10
https://github.com/nahsra/antisamy/commit/e76f02a77afb4e43b897f13d17b5bc1260b8afde
Affected Operating Systems:
Any
Affected Versions:
OWASP antisamy 1.5.6
Tested Versions:
1.5.1, 1.5.2, 1.5.3, 1.5.5, 1.5.6
Protection Provided:
Functional
Patch Version:
1.1
***************************************************************************/
patch("CVE-2017-14735 :01"):
function("org/owasp/validator/html/Policy.getAllowedRegexps(Ljava/util/Map;Lorg/w3c/dom/Element;)Ljava/util/List;",
checksums: ["a4f31c5e05", // 1.5.1 - 1.5.3
"222cbe7378", // 1.5.5
"45642b3467"]) // 1.5.6
entry()
code(language: java, import: ["java.util.*",
"java.util.regex.Pattern",
"org.owasp.validator.html.model.AntiSamyPattern"]):
private static final String ON_SITE_URL = "^(?![\\p{L}\\p{N}\\\\\\.\\#@\\$%\\+&;\\-_~,\\?=/!]*(&colon))[\\p{L}\\p{N}\\\\\\.\\#@\\$%\\+&;\\-_~,\\?=/!]*";
private static final String ANCHORED_URL = "#(\\w)+";
public void patch(JavaFrame frame) {
Map<String, AntiSamyPattern> commonRegularExpressions = (Map<String, AntiSamyPattern>)
frame.loadObjectVariable(0);
Map<String, AntiSamyPattern> commonRegularExpressionsNew = new HashMap<String, AntiSamyPattern>();
for (Map.Entry<String, AntiSamyPattern> entry : commonRegularExpressions.entrySet()) {
String key = entry.getKey();
AntiSamyPattern val = entry.getValue();
commonRegularExpressionsNew.put(key, val);
}
if (commonRegularExpressionsNew.containsKey("onsiteURL")) {
commonRegularExpressionsNew.remove("onsiteURL");
}
if (commonRegularExpressionsNew.containsKey("anchoredURL")) {
commonRegularExpressionsNew.remove("anchoredURL");
}
commonRegularExpressionsNew.put(
"onsiteURL", new AntiSamyPattern(Pattern.compile(ON_SITE_URL)));
commonRegularExpressionsNew.put(
"anchoredURL", new AntiSamyPattern(Pattern.compile(ANCHORED_URL)));
frame.storeObjectVariable(0, commonRegularExpressionsNew);
}
endcode
endpatch
patch("CVE-2017-14735 :02"):
function("org/owasp/validator/html/Policy.getAllowedRegexps2(Ljava/util/Map;Lorg/w3c/dom/Element;Ljava/lang/String;)Ljava/util/List;",
checksums: ["a4f31c5e05", // 1.5.1 - 1.5.3
"222cbe7378", // 1.5.5
"45642b3467"]) // 1.5.6
callsite("java/util/regex/Pattern.compile(Ljava/lang/String;)Ljava/util/regex/Pattern;")
code(language: java):
public void patch(JavaFrame frame) {
String value = frame.loadStringVariable(6);
frame.storeStringOperand(0, value);
}
endcode
endpatch
patch("CVE-2017-14735 :03"):
function("org/owasp/validator/html/Policy.getAllowedRegexps2(Ljava/util/Map;Lorg/w3c/dom/Element;Ljava/lang/String;)Ljava/util/List;",
checksums: ["a4f31c5e05", // 1.5.1 - 1.5.3
"222cbe7378", // 1.5.5
"45642b3467"]) // 1.5.6
entry()
code(language: java, import: ["java.util.*",
"java.util.regex.Pattern",
"org.owasp.validator.html.model.AntiSamyPattern"]):
private static final String ON_SITE_URL = "^(?![\\p{L}\\p{N}\\\\\\.\\#@\\$%\\+&;\\-_~,\\?=/!]*(&colon))[\\p{L}\\p{N}\\\\\\.\\#@\\$%\\+&;\\-_~,\\?=/!]*";
private static final String ANCHORED_URL = "#(\\w)+";
public void patch(JavaFrame frame) {
Map<String, AntiSamyPattern> commonRegularExpressions = (Map<String, AntiSamyPattern>)
frame.loadObjectVariable(0);
Map<String, AntiSamyPattern> commonRegularExpressionsNew = new HashMap<String, AntiSamyPattern>();
for (Map.Entry<String, AntiSamyPattern> entry : commonRegularExpressions.entrySet()) {
String key = entry.getKey();
AntiSamyPattern val = entry.getValue();
commonRegularExpressionsNew.put(key, val);
}
if (commonRegularExpressionsNew.containsKey("onsiteURL")) {
commonRegularExpressionsNew.remove("onsiteURL");
}
if (commonRegularExpressionsNew.containsKey("anchoredURL")) {
commonRegularExpressionsNew.remove("anchoredURL");
}
commonRegularExpressionsNew.put(
"onsiteURL", new AntiSamyPattern(Pattern.compile(ON_SITE_URL)));
commonRegularExpressionsNew.put(
"anchoredURL", new AntiSamyPattern(Pattern.compile(ANCHORED_URL)));
frame.storeObjectVariable(0, commonRegularExpressionsNew);
}
endcode
endpatch
patch("CVE-2017-14735 :04"):
function("org/owasp/validator/html/Policy.getAllowedRegexps2(Ljava/util/Map;Lorg/w3c/dom/Element;Ljava/lang/String;)Ljava/util/List;",
checksums: ["a4f31c5e05", // 1.5.1 - 1.5.3
"222cbe7378", // 1.5.5
"45642b3467"]) // 1.5.6
callsite("java/util/regex/Pattern.compile(Ljava/lang/String;)Ljava/util/regex/Pattern;")
code(language: java):
public void patch(JavaFrame frame) {
String value = frame.loadStringVariable(7);
frame.storeStringOperand(0, value);
}
endcode
endpatch
patch("CVE-2017-14735 :05"):
function("org/owasp/validator/html/Policy.getAllowedRegexp3(Ljava/util/Map;Lorg/w3c/dom/Element;Ljava/lang/String;)Ljava/util/List;",
checksums: ["a4f31c5e05", // 1.5.1 - 1.5.3
"222cbe7378", // 1.5.5
"45642b3467"]) // 1.5.6
entry()
code(language: java, import: ["java.util.*",
"java.util.regex.Pattern",
"org.owasp.validator.html.model.AntiSamyPattern"]):
private static final String ON_SITE_URL = "^(?![\\p{L}\\p{N}\\\\\\.\\#@\\$%\\+&;\\-_~,\\?=/!]*(&colon))[\\p{L}\\p{N}\\\\\\.\\#@\\$%\\+&;\\-_~,\\?=/!]*";
private static final String ANCHORED_URL = "#(\\w)+";
public void patch(JavaFrame frame) {
Map<String, AntiSamyPattern> commonRegularExpressions = (Map<String, AntiSamyPattern>)
frame.loadObjectVariable(0);
Map<String, AntiSamyPattern> commonRegularExpressionsNew = new HashMap<String, AntiSamyPattern>();
for (Map.Entry<String, AntiSamyPattern> entry : commonRegularExpressions.entrySet()) {
String key = entry.getKey();
AntiSamyPattern val = entry.getValue();
commonRegularExpressionsNew.put(key, val);
}
if (commonRegularExpressionsNew.containsKey("onsiteURL")) {
commonRegularExpressionsNew.remove("onsiteURL");
}
if (commonRegularExpressionsNew.containsKey("anchoredURL")) {
commonRegularExpressionsNew.remove("anchoredURL");
}
commonRegularExpressionsNew.put(
"onsiteURL", new AntiSamyPattern(Pattern.compile(ON_SITE_URL)));
commonRegularExpressionsNew.put(
"anchoredURL", new AntiSamyPattern(Pattern.compile(ANCHORED_URL)));
frame.storeObjectVariable(0, commonRegularExpressionsNew);
}
endcode
endpatch
patch("CVE-2017-14735 :06"):
function("org/owasp/validator/html/Policy.getAllowedRegexp3(Ljava/util/Map;Lorg/w3c/dom/Element;Ljava/lang/String;)Ljava/util/List;",
checksums: ["a4f31c5e05", // 1.5.1 - 1.5.3
"222cbe7378", // 1.5.5
"45642b3467"]) // 1.5.6
callsite("java/util/regex/Pattern.compile(Ljava/lang/String;)Ljava/util/regex/Pattern;")
code(language: java):
public void patch(JavaFrame frame) {
String value = frame.loadStringVariable(7);
frame.storeStringOperand(0, value);
}
endcode
endpatch
endapp
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
2 metrics
VRT selects the newest version's highest entry and
publishes it as cvssScore, newest rather than largest because scores are not comparable
across versions, and highest rather than first because the first entry is frequently a CNA placeholder
scoring 0.0 over NVD's own analysis.
| Version | Score | Band | Vector | Assigner | Type | |
|---|---|---|---|---|---|---|
| CVSS 3.0 | 6.1 | MEDIUM | CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
NVD | Primary | published |
| CVSS 2.0 | 4.3 | no band published | AV:N/AC:M/Au:N/C:N/I:P/A:N |
NVD | Primary |
| Advisory | Type | Quarter | Products Oracle named in risk matrix |
|---|---|---|---|
| Oracle Critical Patch Update July 2021 ↗ | CPU | 2021-Q3 | Oracle Enterprise Manager / UI Framework (AntiSamy) (13.4.0.0) Oracle Hyperion / Common Security (AntiSamy) (11.1.2.4, 11.2.5.0) |
| Oracle Critical Patch Update April 2021 ↗ | CPU | 2021-Q2 | Oracle E-Business Suite / Attachments, iRecruitment, Contracts (AntiSamy) (12.1.3, 12.2.3-12.2.10) |
| Oracle Critical Patch Update April 2020 ↗ | CPU | 2020-Q2 | Oracle Knowledge / Web Applications - InfoCenter (AntiSamy) (8.6.0-8.6.3) |
| Oracle Critical Patch Update January 2020 ↗ | CPU | 2020-Q1 | Oracle Enterprise Manager / Load Testing for Web Apps (AntiSamy) (12.5.0.3, 13.1.0.1, 13.2.0.1, 13.3.0.1) Oracle Enterprise Manager / Oracle Flow Builder (Antisamy) (12.5.0.3, 13.1.0.1, 13.2.0.1, 13.3.0.1) |
| Oracle Critical Patch Update July 2019 ↗ | CPU | 2019-Q3 | Oracle Financial Services Applications / Security (AntiSamy) (5.2.0, 11.6.0, 11.7.0, 11.8.0) Oracle Insurance Applications / Core (AntiSamy) (9.7, 10.0, 10.1, 10.2) |
| Oracle Critical Patch Update January 2019 ↗ | CPU | 2019-Q1 | Oracle Financial Services Applications / Infrastructure (AntiSamy) (2.5.0, 2.6.0, 2.6.1) Oracle Fusion Middleware / Third Party Tools (AntiSamy) (11.1.1.8.0) Oracle Insurance Applications / Core (AntiSamy) (10.0, 10.2) Oracle Retail Applications / Security (AntiSamy) (13.3, 13.4, 14.0, 14.1) Oracle Retail Applications / Security (AntiSamy) (13.3, 13.4, 14.0, 14.1) Oracle Retail Applications / Security (AntiSamy) (13.3, 13.4, 14.0, 14.1) Oracle Supply Chain Products Suite / Security (AntiSamy) (9.3.4, 9.3.5) |
| Oracle Critical Patch Update October 2018 ↗ | CPU | 2018-Q4 | Oracle Fusion Middleware / Install (AntiSamy) (12.1.3.0, 12.2.1.3) |
| Family | Component | Oracle's version cell (verbatim) | Indexed as |
|---|---|---|---|
| Oracle E-Business Suite | Attachments, iRecruitment, Contracts (AntiSamy) | 12.1.3, 12.2.3-12.2.10 | 12.1.3 |
| Oracle Enterprise Manager | Load Testing for Web Apps (AntiSamy) | 12.5.0.3, 13.1.0.1, 13.2.0.1, 13.3.0.1 | 12.5.0.3 · 13.1.0.1 · 13.2.0.1 · 13.3.0.1 |
| Oracle Enterprise Manager | Oracle Flow Builder (Antisamy) | 12.5.0.3, 13.1.0.1, 13.2.0.1, 13.3.0.1 | 12.5.0.3 · 13.1.0.1 · 13.2.0.1 · 13.3.0.1 |
| Oracle Enterprise Manager | UI Framework (AntiSamy) | 13.4.0.0 | 13.4.0.0 |
| Oracle Financial Services Applications | Infrastructure (AntiSamy) | 2.5.0, 2.6.0, 2.6.1 | 2.5.0 · 2.6.0 · 2.6.1 |
| Oracle Financial Services Applications | Security (AntiSamy) | 5.2.0, 11.6.0, 11.7.0, 11.8.0 | 5.2.0 · 11.6.0 · 11.7.0 · 11.8.0 |
| Oracle Fusion Middleware | Install (AntiSamy) | 12.1.3.0, 12.2.1.3 | 12.1.3.0 · 12.2.1.3 |
| Oracle Fusion Middleware | Third Party Tools (AntiSamy) | 11.1.1.8.0 | 11.1.1.8.0 |
| Oracle Hyperion | Common Security (AntiSamy) | 11.1.2.4, 11.2.5.0 | 11.1.2.4 · 11.2.5.0 |
| Oracle Insurance Applications | Core (AntiSamy) | 9.7, 10.0, 10.1, 10.2 | 9.7 · 10.0 · 10.1 · 10.2 |
| Oracle Knowledge | Web Applications - InfoCenter (AntiSamy) | 8.6.0-8.6.3 | |
| Oracle Retail Applications | Security (AntiSamy) | 13.3, 13.4, 14.0, 14.1 | 13.3 · 13.4 · 14.0 · 14.1 |
| Oracle Supply Chain Products Suite | Security (AntiSamy) | 9.3.4, 9.3.5 | 9.3.4 · 9.3.5 |
| Package Coordinate | Introduced | Fixed | Last affected |
|---|---|---|---|
org.owasp.antisamy:antisamy |
0 | 1.5.7 |
unbounded |
| Published | 2017-09-25 | By the CVE Program. |
|---|---|---|
| ARMR remediation created | 2020-06-25 | Earliest commit adding this CVE's ARMR patch or security rule. |
| ARMR remediation last updated | 2026-03-04 | Most recent commit touching this CVE's ARMR patch or security rule. |
| Last VRT activity | 2026-03-04 | Most recent commit touching this CVE's classification, patch or rule file. |
| NVD record modified | 2026-06-17 | NVD's own last-modified date for this record. |