Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-pqj7-jx24-wj7w

Опубликовано: 11 мая 2023
Источник: github
Github: Прошло ревью
CVSS3: 4.1

Описание

VTAdmin users that can create shards can deny access to other functions

Impact

Users can either intentionally or inadvertently create a shard containing / characters from VTAdmin such that from that point on, anyone who tries to create a new shard from VTAdmin will receive an error. Attempting to view the keyspace(s) will also no longer work. Creating a shard using vtctldclient does not have the same problem because the CLI validates the input correctly.

Patches

v16.0.2, corresponding to 0.16.2 on pkg.go.dev

Workarounds

  • Always use vtctldclient to create shards, instead of using VTAdmin
  • Disable creating shards from VTAdmin using RBAC
  • Delete the topology record for the offending shard using the client for your topology server. For example, if you created a shard called a/b in keyspace commerce, and you are running etcd, it can be deleted by doing something like
% etcdctl --endpoints "http://${ETCD_SERVER}" del /vitess/global/keyspaces/commerce/shards/a/b/Shard

References

https://github.com/vitessio/vitess/issues/12842

Found during a security audit sponsored by the CNCF and facilitated by OSTIF.

Пакеты

Наименование

vitess.io/vitess

go
Затронутые версииВерсия исправления

< 0.16.2

0.16.2

EPSS

Процентиль: 35%
0.00142
Низкий

4.1 Medium

CVSS3

Дефекты

CWE-20
CWE-703

Связанные уязвимости

CVSS3: 4.1
nvd
больше 2 лет назад

Vitess is a database clustering system for horizontal scaling of MySQL through generalized sharding. Prior to version 16.0.2, users can either intentionally or inadvertently create a shard containing `/` characters from VTAdmin such that from that point on, anyone who tries to create a new shard from VTAdmin will receive an error. Attempting to view the keyspace(s) will also no longer work. Creating a shard using `vtctldclient` does not have the same problem because the CLI validates the input correctly. Version 16.0.2, corresponding to version 0.16.2 of the `go` module, contains a patch for this issue. Some workarounds are available. Always use `vtctldclient` to create shards, instead of using VTAdmin; disable creating shards from VTAdmin using RBAC; and/or delete the topology record for the offending shard using the client for your topology server.

CVSS3: 4.3
msrc
больше 2 лет назад

Vitess VTAdmin users that can create shards can deny access to other functions

EPSS

Процентиль: 35%
0.00142
Низкий

4.1 Medium

CVSS3

Дефекты

CWE-20
CWE-703