Skip to main content

alexpechkarev/google-maps EUVDEUVD-2026-92135

| CVE-2026-105222 CRITICAL
Improper Certificate Validation (CWE-295)
2026-10-04 VulnCheck GHSA-mpgp-p4pg-fp7c
9.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain on-path network position
  2. Delivery
    Intercept outbound Maps request
  3. Exploit
    Present forged TLS certificate
  4. Execution
    Capture API key from query string
  5. Impact
    Tamper with Google Maps responses

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V12 - Secure Communication Certificate validation
Exploitation Conditions

No special application configuration is required - the package is insecure by default: the bundled googlemaps.php sets ssl_verify_peer to FALSE, so every deployment that does not manually override it disables CURLOPT_SSL_VERIFYPEER. The decisive limiting factor is positional: the attacker must achieve an on-path/man-in-the-middle vantage point on the network path between the Laravel app and Google's Maps web service (reflected by AC:H and AT:P). No authentication (PR:N) and no user interaction (UI:N) are needed once that position is held. Realistic exploitation is therefore confined to hostile or compromised networks (public Wi-Fi, rogue proxy, DNS/ARP spoofing, compromised upstream), not arbitrary remote attackers on the open internet.

Impact

The CVSS 4.0 base score of 9.1 is driven by high confidentiality and integrity impact (VC:H/VI:H) - a stolen Google Maps API key plus the ability to tamper with geocoding/map responses. However, the same vector tempers real-world likelihood significantly: AC:H and AT:P mean the attacker must already occupy an on-path/machine-in-the-middle position between the Laravel application and Google's web services, which is a meaningful prerequisite rather than trivial remote reach. No EPSS score was provided in the input, so exploitation probability cannot be quantified; there is no CISA KEV listing and no public exploit code identified, so this is a design/configuration weakness (CWE-295, insecure default) rather than a confirmed actively-exploited flaw. Net assessment: a genuinely serious defect because it ships insecure-by-default and affects every deployment that does not override the config, but the on-path requirement makes it a high-priority hardening item rather than an imminent mass-exploitation emergency. Note the conflicting-signal caveat: the raw 9.1 reads 'critical,' yet the AC:H/AT:P requirements place realistic exploitation in targeted/hostile-network scenarios (public Wi-Fi, compromised upstream, malicious proxy) - defenders should weight it accordingly.

Exploit ScenarioDerived

A Laravel application using this package runs in an environment where an attacker can intercept outbound traffic (e.g., a compromised network segment, malicious proxy, or hostile Wi-Fi). Because ssl_verify_peer defaults to FALSE, the attacker presents any TLS certificate, decrypts the request to Google's Maps web service, and reads the API key embedded in the query string while silently altering the returned map/geocoding data. No public exploit code was identified, but the attack uses standard off-the-shelf MITM tooling.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 04, 2026

The alexpechkarev/google-maps Laravel package through version 12.16 ships with TLS certificate verification turned off by default: the bundled config file sets ssl_verify_peer to FALSE, which is handed straight to CURLOPT_SSL_VERIFYPEER, so any Laravel application using the package without overriding the config will accept any certificate presented by the Google Maps web-service endpoint. An attacker who occupies an on-path position between the application server and Google (hostile Wi-Fi, rogue proxy, DNS or ARP spoofing, or a compromised upstream hop) can therefore terminate a fake TLS session, read the Google Maps API key carried in the request query string, and modify geocoding or map responses returned to the application. Exploitation requires no authentication and no user interaction, but the on-path vantage point is the limiting factor; no public exploit code was identified at time of analysis, and the vulnerability is not confirmed actively exploited (not in CISA KEV).

RemediationAI

No vendor-released patch is identified at time of analysis, so the immediate fix is configuration-side: publish the package config (php artisan vendor:publish --provider="Alexpechkarev\GoogleMaps\GoogleMapsServiceProvider") and set ssl_verify_peer to TRUE in config/googlemaps.php, or override the value in the application's environment/config layer, then restart the queue workers and web processes so the new cURL option takes effect. Verify the change actually applies by testing against a host with a deliberately invalid certificate and confirming the request fails; note that enabling verification will break any environment whose PHP CA bundle (openssl.cafile / curl.cafile) is missing or stale, so ensure a current CA bundle is installed before rolling out. Because the API key must be treated as compromised wherever the insecure default was live, rotate the Google Maps API key and constrain the replacement by HTTP referrer or server IP and by restricting it to only the required Maps APIs, which limits the blast radius of any future leak but does not stop on-path response tampering. As compensating controls on untrusted networks, route outbound calls through a pinned egress proxy or VPN so that traffic cannot be intercepted, and monitor geocoding responses for anomalies; both add operational complexity and will not protect against a compromise of the proxy itself. Track https://github.com/alexpechkarev/google-maps/issues/123 for an upstream release that flips the default, and upgrade as soon as a patched version is published, since the insecure default is inherited by every new deployment that does not override it.

Affected VersionsENISA

google-maps 1.0.3 ≤12.16

Affected Packages

euvd google_maps no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

This is a CWE-295 improper certificate validation flaw rooted in insecure default configuration of a PHP/Laravel wrapper around Google's Maps web services. The package uses PHP cURL to call Google endpoints, and the option CURLOPT_SSL_VERIFYPEER controls whether cURL validates the peer's certificate chain against a trusted CA store; setting it to FALSE disables that validation entirely, allowing the TLS handshake to complete with any self-signed or attacker-generated certificate. The package's own config template at src/config/googlemaps.php (line 28 in v12.16) sets ssl_verify_peer to FALSE, and src/WebService.php (lines 267-269 in v12.14) passes that value directly into the cURL option, so the insecure behavior propagates to every request unless a developer explicitly publishes and edits the config. Because the Google Maps API key travels in the request query string, an on-path attacker who breaks TLS confidentiality recovers the key verbatim; breaking integrity at the same time allows arbitrary rewriting of geocoding, directions, distance-matrix, and similar responses consumed by the application. The CPE cpe:2.3:a:alexpechkarev:google-maps:*:*:*:*:*:*:*:* carries no version bounds, but the description scopes the issue to releases through 12.16, indicating the vulnerable default has existed across the package's release history. The assessed CVSS 4.0 score of 9.1 reflects high confidentiality and integrity impact (VC:H/VI:H) with availability unaffected, while AC:H and AT:P correctly encode the prerequisite that the attacker must already sit on the network path.

Know when Laravel gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 9.1 CRITICAL
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 7.4 HIGH

On-path interception is required so AC:H; no authentication is needed to intercept so PR:N; API-key theft and response tampering yield C:H/I:H with no availability impact.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

The alexpechkarev/google-maps Laravel package through 12.16 disables TLS certificate verification by default because the bundled config sets ssl_verify_peer to FALSE, which is passed to CURLOPT_SSL_VERIFYPEER. On-path attackers can present any certificate to intercept Google Maps web-service requests, steal the API key from the query string, and tamper with responses.

Executive ViewAI

Why It Matters

Any Laravel application using the alexpechkarev/google-maps package up to and including version 12.16 is left with TLS certificate validation disabled by the library's own default configuration, so an attacker who can position themselves on the network path between the application server and Google's mapping service can read the embedded Google Maps API key and silently rewrite the geocoding and map results returned to users. Because this is the shipped default rather than an opt-in setting, every team that installed the package without overriding its config inherits the exposure, and the leaked key can be abused for unauthorized usage billed to the organization's Google Cloud account while altered location data degrades the integrity of customer-facing functionality. Fewer applications are expected to be affected than a typical critical remote vulnerability, since the attacker must already hold an on-path network position, but any team relying on this package should treat its default state as unsafe until remediated.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: manually override the package configuration so ssl_verify_peer is TRUE (mapping to CURLOPT_SSL_VERIFYPEER) in every environment and enforce it via source control and deployment pipelines; rotate and restrict Google Maps API keys by IP, referrer, and API scope to contain exposure; monitor Google Cloud billing, quota, and geocoding request logs for anomalous usage indicating key theft; force outbound traffic to Google through a proxy or TLS-inspecting egress control so rogue certificates cannot be accepted; and treat all responses returned while verification was disabled as potentially tampered.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Low
niche Laravel Google Maps wrapper library, limited production footprint
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2017-16894 HIGH POC
7.5 Nov 20

In Laravel framework through 5.5.21, remote attackers can obtain sensitive information (such as externally usable passwo

CVE-2025-54068 CRITICAL POC
9.8 Jul 17

Laravel Livewire v3 through v3.6.3 contains a critical remote code execution vulnerability (CVE-2025-54068, CVSS 9.8) th

CVE-2025-53833 CRITICAL POC
10.0 Jul 14

LaRecipe versions prior to 2.8.1 contain a Server-Side Template Injection (SSTI) vulnerability that can lead to Remote C

CVE-2026-28289 CRITICAL POC
10.0 Mar 03

File upload bypass in FreeScout 1.8.206 — patch bypass for CVE-2026-27636. PoC and patch available. CVSS 10.0.

CVE-2026-27636 HIGH POC
8.8 Feb 25

Remote code execution in FreeScout prior to version 1.8.206 allows authenticated users to upload `.htaccess` files that

CVE-2018-15133 HIGH POC
8.1 Aug 09

In Laravel Framework through 5.5.40 and 5.6.x through 5.6.29, remote code execution might occur as a result of an unseri

CVE-2025-70841 CRITICAL POC
10.0 Feb 03

Dokans SaaS e-commerce platform v3.9.2 has a CVSS 10.0 authentication bypass allowing unauthenticated attackers to obtai

CVE-2026-27637 CRITICAL POC
9.8 Feb 25

Predictable password reset tokens in FreeScout help desk before 1.8.206. Weak random number generation allows attackers

CVE-2026-21448 CRITICAL POC
9.8 Jan 02

Bagisto eCommerce platform before 2.3.10 is vulnerable to server-side template injection (SSTI) through customer address

CVE-2026-21446 CRITICAL POC
9.8 Jan 02

Bagisto eCommerce platform (2.3 branch before 2.3.10) leaves installation API routes active after setup, allowing unauth

CVE-2022-2870 CRITICAL POC
9.8 Aug 17

A vulnerability was found in laravel 5.1 and classified as problematic. Rated critical severity (CVSS 9.8), this vulnera

CVE-2026-114509 CRITICAL POC
9.2 Oct 21

Laravel TokenGuard authentication bypass is a genuine high-priority issue, not an inflated CVSS score: unauthenticated a

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy