{"answers":{"affected":"2 open source packages ship an affected version, including org.apache.qpid:proton-j. It affects 1 product.","exploited":"There is no known exploitation of CVE-2018-17187 in the wild and no public exploit code.","fix":"Upgrade org.apache.qpid:proton-j to 0.30.0 or later.","what":"CVE-2018-17187 is a high-severity vulnerability in Apache Qpid Proton-J, published on 13 Nov 2018. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2018-17187 and fix it if it is affected.\n\nWhat it is: CVE-2018-17187 is a high-severity vulnerability in Apache Qpid Proton-J, published on 13 Nov 2018. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2018-17187 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- org.apache.qpid:proton-j (Maven): affected from 0.3; fixed in 0.30.0\n- org.apache.qpid:proton-j (Maven): affected from 0.3; fixed in 0.30.0\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2018-17187/ (Markdown: https://insights.sbomify.com/CVE-2018-17187/index.md)","id":"CVE-2018-17187","markdown":"https://insights.sbomify.com/CVE-2018-17187/index.md","name":"CVE-2018-17187","record":{"aliases":["DEBIAN-CVE-2018-17187","GHSA-xvch-r4wf-h8w9","UBUNTU-CVE-2018-17187"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["security_bypass"],"network_reachable":"yes","non_default_config":true,"product_category":"Java AMQP library","requires_auth":"none","summary":"Attackers can perform Man-in-the-Middle attacks against Apache Qpid Proton-J clients using TLS if hostname verification was intended but not implemented.","user_interaction":"not_required","vuln_class":"security_feature_bypass"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"apache","cpe":[{"product":"qpid_proton-j","vendor":"apache"}],"cvss":{"score":7.4,"severity":"high","source":"nvd","vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","version":"3.0"},"cwes":[{"id":"CWE-295","name":"Improper Certificate Validation"}],"description":"The Apache Qpid Proton-J transport includes an optional wrapper layer to perform TLS, enabled by use of the 'transport.ssl(...)' methods. Unless a verification mode was explicitly configured, client and server modes previously defaulted as documented to not verifying a peer certificate, with options to configure this explicitly or select a certificate verification mode with or without hostname verification being performed. The latter hostname verifying mode was not implemented in Apache Qpid Proton-J versions 0.3 to 0.29.0, with attempts to use it resulting in an exception. This left only the option to verify the certificate is trusted, leaving such a client vulnerable to Man In The Middle (MITM) attack. Uses of the Proton-J protocol engine which do not utilise the optional transport TLS wrapper are not impacted, e.g. usage within Qpid JMS. Uses of Proton-J utilising the optional transport TLS wrapper layer that wish to enable hostname verification must be upgraded to version 0.30.0 or later and utilise the VerifyMode#VERIFY_PEER_NAME configuration, which is now the default for client mode usage unless configured otherwise.","ecosystems":["Maven"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"Improper Certificate Validation in proton-j","id":"CVE-2018-17187","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"Maven","product":null,"products":[],"type":"security_feature_bypass","year":"2018"},"n_packages":2,"n_references":4,"next":{"headline":"Code injection in Apache CouchDB","id":"CVE-2018-17188"},"packages":[{"ecosystem":"Maven","fixed":["0.30.0"],"introduced":["0.3"],"last_affected":[],"package":"org.apache.qpid:proton-j","purl":null,"source":"GHSA-xvch-r4wf-h8w9"},{"ecosystem":"Maven","fixed":["0.30.0"],"introduced":["0.3"],"last_affected":[],"package":"org.apache.qpid:proton-j","purl":"pkg:maven/org.apache.qpid/proton-j","source":"GHSA-xvch-r4wf-h8w9"}],"prev":{"headline":"Improper Restriction of XML External Entity Reference in org.apache.syncope:syncope-core","id":"CVE-2018-17186"},"products":["Apache Qpid Proton-J"],"published":"2018-11-13","related":[{"cvss_score":7.5,"headline":"Apache Qpid Proton-J: Unbounded symbol value caching can lead to pre-authentication resource exhaustion","id":"CVE-2026-66257","kev_date_added":null,"published":"2026-08-05"},{"cvss_score":7.5,"headline":"Apache Qpid Proton-J: Type size/count handling can lead to excessive allocation pre-authentication","id":"CVE-2026-66273","kev_date_added":null,"published":"2026-08-05"},{"cvss_score":7.5,"headline":"Apache Qpid Proton-J: Unbounded type nesting can lead to pre-authentication stackoverflow","id":"CVE-2026-66274","kev_date_added":null,"published":"2026-08-05"},{"cvss_score":6.5,"headline":"Apache Qpid Proton-J: Incoming session flow control window can be exceeded","id":"CVE-2026-66275","kev_date_added":null,"published":"2026-08-05"},{"cvss_score":6.5,"headline":"Apache Qpid Proton-J: Unbounded disposition range handling can lead to denial of service","id":"CVE-2026-66276","kev_date_added":null,"published":"2026-08-05"},{"cvss_score":6.5,"headline":"Apache Qpid Proton-J: Unable to govern the maximum number of transfer frames per incoming delivery","id":"CVE-2026-66277","kev_date_added":null,"published":"2026-08-05"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":"PUBLISHED","updated":"2024-08-05","vendors":["Apache Software Foundation"]},"summary":"Attackers can perform Man-in-the-Middle attacks against Apache Qpid Proton-J clients using TLS if hostname verification was intended but not implemented.","url":"https://insights.sbomify.com/CVE-2018-17187/"}