{"api_version":"1","generated_at":"2026-04-22T21:27:01+00:00","cve":"CVE-2018-19148","urls":{"html":"https://cve.report/CVE-2018-19148","api":"https://cve.report/api/cve/CVE-2018-19148.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2018-19148","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2018-19148"},"summary":{"title":"CVE-2018-19148","description":"Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort.","state":"PUBLIC","assigner":"cve@mitre.org","published_at":"2018-11-10 19:29:00","updated_at":"2019-01-30 18:09:00"},"problem_types":["CWE-200"],"metrics":[],"references":[{"url":"https://github.com/mholt/caddy/pull/2015","name":"https://github.com/mholt/caddy/pull/2015","refsource":"MISC","tags":["Issue Tracking","Patch","Third Party Advisory"],"title":"tls: Restructure and improve certificate management by mholt · Pull Request #2015 · caddyserver/caddy · GitHub","mime":"text/html","httpstatus":"404","archivestatus":"200"},{"url":"https://github.com/mholt/caddy/issues/1303","name":"https://github.com/mholt/caddy/issues/1303","refsource":"MISC","tags":["Issue Tracking","Patch","Third Party Advisory"],"title":"Caddy serves wrong SSL cert for site that is not served on HTTPS port · Issue #1303 · mholt/caddy · GitHub","mime":"text/html","httpstatus":"404","archivestatus":"200"},{"url":"https://securitytrails.com/blog/caddy-web-server-ssl-bug","name":"https://securitytrails.com/blog/caddy-web-server-ssl-bug","refsource":"MISC","tags":["Exploit","Patch","Third Party Advisory"],"title":"Making the Web a Better Place: Fixing Caddy Web Server Hostname Enumeration Vulnerability (CVE-2018-19148)","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/mholt/caddy/issues/2334","name":"https://github.com/mholt/caddy/issues/2334","refsource":"MISC","tags":["Issue Tracking","Patch","Third Party Advisory"],"title":"Problem with the way Caddy serves multiple certificates · Issue #2334 · caddyserver/caddy · GitHub","mime":"text/html","httpstatus":"404","archivestatus":"200"},{"url":"https://www.cve.org/CVERecord?id=CVE-2018-19148","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2018-19148","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2018","cve_id":"19148","vulnerable":"1","versionEndIncluding":"0.11.0","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"caddyserver","cpe5":"caddy","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"CVE_data_meta":{"ASSIGNER":"cve@mitre.org","ID":"CVE-2018-19148","STATE":"PUBLIC"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"n/a","version":{"version_data":[{"version_value":"n/a"}]}}]},"vendor_name":"n/a"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort."}]},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"n/a"}]}]},"references":{"reference_data":[{"name":"https://github.com/mholt/caddy/pull/2015","refsource":"MISC","url":"https://github.com/mholt/caddy/pull/2015"},{"name":"https://github.com/mholt/caddy/issues/1303","refsource":"MISC","url":"https://github.com/mholt/caddy/issues/1303"},{"name":"https://github.com/mholt/caddy/issues/2334","refsource":"MISC","url":"https://github.com/mholt/caddy/issues/2334"}]}},"nvd":{"publishedDate":"2018-11-10 19:29:00","lastModifiedDate":"2019-01-30 18:09:00","problem_types":["CWE-200"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.0","vectorString":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"NONE","availabilityImpact":"NONE","baseScore":3.7,"baseSeverity":"LOW"},"exploitabilityScore":2.2,"impactScore":1.4},"baseMetricV2":{"cvssV2":{"version":"2.0","vectorString":"AV:N/AC:M/Au:N/C:P/I:N/A:N","accessVector":"NETWORK","accessComplexity":"MEDIUM","authentication":"NONE","confidentialityImpact":"PARTIAL","integrityImpact":"NONE","availabilityImpact":"NONE","baseScore":4.3},"severity":"MEDIUM","exploitabilityScore":8.6,"impactScore":2.9,"acInsufInfo":false,"obtainAllPrivilege":false,"obtainUserPrivilege":false,"obtainOtherPrivilege":false,"userInteractionRequired":false}},"configurations":{"CVE_data_version":"4.0","nodes":[{"operator":"OR","children":[],"cpe_match":[{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:caddyserver:caddy:*:*:*:*:*:*:*:*","versionEndIncluding":"0.11.0","cpe_name":[]}]}]}},"legacy_mitre":{"record":{"CveYear":"2018","CveId":"19148","Ordinal":"136076","Title":"CVE-2018-19148","CVE":"CVE-2018-19148","Year":"2018"},"notes":[{"CveYear":"2018","CveId":"19148","Ordinal":"1","NoteData":"Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort.","Type":"Description","Title":null},{"CveYear":"2018","CveId":"19148","Ordinal":"2","NoteData":"2018-11-10","Type":"Other","Title":"Published"},{"CveYear":"2018","CveId":"19148","Ordinal":"3","NoteData":"2018-11-10","Type":"Other","Title":"Modified"}]}}}