VRT 391,810 CVEs tracked · 15,472 in RASP scope · data as of 23 minutes ago

CVE-2017-14735

6.1 Medium Protected by RASP

Description

OWASP 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

Exploitation Status

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

  • CISA KEV not listed
  • CISA Vulnrichment no assessment published
  • Indexed PoC none indexed
  • EPSS 1.7% chance in 30 days

Waratek Defense Posture

Protected by RASP

A Waratek agent blocks this today.

Applicable rule: CVE has an ARMR patch rule that provides mitigation

  • Protection full a patch rule written for this CVE
  • Action available patch rule
  • Review human armr-file
  • Record active
Decided by armr-patch-file : An ARMR patch file on disk for this CVE
Finding CVE has an ARMR patch rule that provides mitigation

ARMR rule files

1 file

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-04
app("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

6.1 MEDIUM v3.0 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.

VersionScoreBandVectorAssignerType
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

Affected Software & Releases

🏛️ Oracle CPU Advisories & Products

AdvisoryTypeQuarterProducts 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)

Indexed Oracle Components & Versions

FamilyComponentOracle'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

☕ Maven Library Packages

Artifact coordinates and fix boundaries from OSV.dev
Package CoordinateIntroducedFixedLast affected
org.owasp.antisamy:antisamy 0 1.5.7 unbounded

🖥️ Product CPEs & Version Ranges

2 product(s) over 2 version claims (uncapped)
SourceVendorProductSchemeAffected Versions
nvd antisamy project antisamy generic < 1.5.7
osv org.owasp.antisamy antisamy generic < 1.5.7

References

URLTags
https://github.com/nahsra/antisamy/issues/10 WEB
https://github.com/advisories/GHSA-q44v-xc3g-v7jq ADVISORY
https://github.com/nahsra/antisamy PACKAGE
https://www.oracle.com/security-alerts/cpuApr2021.html WEB
https://www.oracle.com/security-alerts/cpuapr2020.html WEB
https://www.oracle.com/security-alerts/cpujan2020.html WEB
https://www.oracle.com/technetwork/security-advisory/cpujan2019-5072801.html WEB
https://www.oracle.com/technetwork/security-advisory/cpujul2019-5072835.html WEB
http://www.oracle.com/technetwork/security-advisory/cpuoct2018-4428296.html WEB
http://www.securityfocus.com/bid/105656 WEB

Timeline

Published 2017-09-25 Last modified 2026-06-17
Published2017-09-25By the CVE Program.
ARMR remediation created2020-06-25Earliest commit adding this CVE's ARMR patch or security rule.
ARMR remediation last updated2026-03-04Most recent commit touching this CVE's ARMR patch or security rule.
Last VRT activity2026-03-04Most recent commit touching this CVE's classification, patch or rule file.
NVD record modified2026-06-17NVD's own last-modified date for this record.