Hi all,

I recently noticed that CVE-2021-26919 is filed with the CVSS score of
8.8(!) in NVD (https://nvd.nist.gov/vuln/detail/CVE-2021-26919). This
seems overestimated to me based on the analysis below.

- The druid cluster should have a MySQL JDBC connector jar loaded in its
class path. The MySQL JDBC connector is not bundled in the druid
distribution by default.
- The druid cluster should be able to access a malicious MySQL server.
In production, the druid cluster is recommended to have access to only
trusted hosts, even though Druid does not provide any method by itself
to restrict accessible hosts yet.
- The attacker should have proper permissions, either a write
permission on a datasource (ingestion via JDBC) or a write permission
on system configurations (JDBC-based lookup). In the current security
model of Druid, there are roughly 3 different groups of users, i.e.,
system administrators, users who have data management roles, and users
who can only read data. In production, we recommend to grant the
permissions in question to only the first 2 groups which are usually
restricted to a small number of trusted people.

Based on these requirements, the CVSS vector string I used for
calculation can be found in
https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H.
The Attack Complexity was set to high (whereas it was set to low in
the NVD calculation) because the vulnerability requires the Druid
cluster to have the MySQL JDBC driver loaded and to have access to the
malicious MySQL server. However, I see the point of the attack
complexity being set to low as well because MySQL is popularly used as
Druid's metadata store and restricting accessible hosts requires extra setups.

The Privileges Required was set to high as well in my calculation
(whereas it was set to low in the NVD calculation). This was because
the attacker should have the permission of either system
administrators or users who have data management roles, to exploit the
vulnerability. These permissions are recommended to be granted to a
small number of trusted people in the production environment as
explained above.

As a result, the CVSS score is 6.6 or 7.2 in my calculation depending
on the Attack Complexity, which is lower than that filed
in NVD in either case. Fortunately, per the description in
https://nvd.nist.gov/vuln/detail/CVE-2021-26919, the score is not
final yet but there is still some room to adjust it. Once we find a
reasonable score that we all agree on, I will reach out to the ASF
security team to figure out how to discuss it with the NVD team.

Does the vector string and the CVSS score I calculated make sense? Any thoughts?
Jihoon

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@druid.apache.org
For additional commands, e-mail: dev-h...@druid.apache.org

Reply via email to