Skip to content

Missing Role Based Access Control for the REST handlers in bleve/http package

Moderate severity GitHub Reviewed Published Jun 1, 2022 in blevesearch/bleve • Updated Feb 14, 2023

Package

gomod github.com/blevesearch/bleve (Go)

Affected versions

<= 1.10.14

Patched versions

None
gomod github.com/blevesearch/bleve/v2 (Go)
<= 2.3.6
None

Description

Impact

What kind of vulnerability is it? Who is impacted?

Bleve includes HTTP utilities under bleve/http package, that are used by its sample application.
(https://github.com/blevesearch/bleve-explorer)
These HTTP methods paves way for exploitation of a node’s filesystem where the bleve index resides,
if the user has used bleve’s own HTTP (bleve/http) handlers for exposing the access to the indexes.
For instance, the CreateIndexHandler (http/index_create.go) and DeleteIndexHandler (http/index_delete.go)
enable an attacker to create a bleve index (directory structure) anywhere where the user running the server
has the write permissions and to delete recursively any directory owned by the same user account.

Users who have used the bleve/http package for exposing access to bleve index without the explicit
handling for the Role Based Access Controls(RBAC) of the index assets would be impacted.

Patches

Has the problem been patched? What versions should users upgrade to?

No. The http package is purely intended to be used for demonstration purposes.
And bleve is never designed to be handling the RBACs or it was ever advertised to be used in that way.
Hence the collaborators of this project have decided to stay away from adding any authentication or
authorization to bleve project at the moment.

Workarounds

Is there a way for users to fix or remediate the vulnerability without upgrading?

The bleve/http package is mainly for demonstration purposes and it lacks exhaustive validation of the user
inputs as well as any authentication and authorization measures.
So it is recommended to not use that in production use cases.

For more information

If you have any questions or comments about this advisory:

References

@abhinavdangeti abhinavdangeti published to blevesearch/bleve Jun 1, 2022
Published by the National Vulnerability Database Jun 1, 2022
Published to the GitHub Advisory Database Jun 3, 2022
Reviewed Jun 3, 2022
Last updated Feb 14, 2023

Severity

Moderate

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Local
Attack complexity
Low
Privileges required
Low
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N

EPSS score

0.044%
(14th percentile)

Weaknesses

CVE ID

CVE-2022-31022

GHSA ID

GHSA-9w9f-6mg8-jp7w

Source code

github.com/blevesearch/bleve
Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.