Miggo Logo

CVE-2019-19499: Grafana Arbitrary File Read

6.2

CVSS Score
3.1

Basic Information

EPSS Score
0.97001%
Published
1/31/2024
Updated
9/16/2024
KEV Status
No
Technology
TechnologyGo

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N/E:P
Package NameEcosystemVulnerable VersionsFirst Patched Version
github.com/grafana/grafanago< 6.4.46.4.4

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from improper input sanitization when building the MySQL connection string. The pre-patch code in newMysqlQueryEndpoint directly interpolated user-controlled parameters (including credentials and URL) into the connection string without escaping special characters. This allowed authenticated attackers to inject path traversal sequences (via URL parameter) to read arbitrary files. The fix introduced characterEscape() to properly sanitize these inputs, confirming the vulnerability existed in the original string construction logic.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

*r***n* <= *.*.* **s *n *r*itr*ry *il* R*** vuln*r**ility, w*i** *oul* ** *xploit** *y *n *ut**nti**t** *tt**k*r t**t **s privil***s to mo*i*y t** **t* sour** *on*i*ur*tions.

Reasoning

T** vuln*r**ility st*ms *rom improp*r input s*nitiz*tion w**n *uil*in* t** MySQL *onn**tion strin*. T** pr*-p*t** *o** in `n*wMysqlQu*ry*n*point` *ir**tly int*rpol*t** us*r-*ontroll** p*r*m*t*rs (in*lu*in* *r***nti*ls *n* URL) into t** *onn**tion str