Skip to content

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

Moderate
abhinavdangeti published GHSA-9w9f-6mg8-jp7w Jun 1, 2022

Package

gomod bleve/http (Go)

Affected versions

> v0.1.0 (initial version)

Patched versions

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:

Severity

Moderate

CVE ID

CVE-2022-31022