Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Missing advisory for CVE-2023-52251 (provectus/kafka-ui) — 447M-pull image with an unpatched RCE and no matchable entry anywhere

Open
#9,400 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
38/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
docker, groovy, java

Research direction

Start by reviewing existing reviewed and unreviewed advisory entries and the GitHub Advisory Database API, then compare their supported ecosystem and affected-package fields with the Docker image details in this issue. Check SECURITY.md and the referenced MessageFilters.java evidence, including the >= 0.4.0 and <= 0.7.2 range. Done means the repository has decided whether this unsupported artifact can be represented and, if so, accepted advisory data in its expected schema.

Written by the indexing model from the issue text.

Description

CVE-2023-52251 (CVSS 3.1 8.8 HIGH, published 2024-01-25) has no entry in the GitHub
Advisory Database. I checked all three types via the API — reviewed, unreviewed and
malware all return zero hits for this CVE ID.

It is a remote code execution issue in provectus/kafka-ui: the "smart filter" evaluates
attacker-supplied Groovy via the q parameter of
/api/clusters/local/topics/{topic}/messages. A public exploit exists.

Why I think this one is worth carrying even though it is not a package:

  • The affected artifact is the Docker image provectuslabs/kafka-ui, with
    447,220,745 pulls and Docker Hub status active.
  • The repository has 12,278 stars and 1,411 forks and is not archived, with no commit
    since 2024-04-08.
  • Its own SECURITY.md still claims 0.7.x is "currently being supported with security
    updates".
  • No other database produces a matchable entry either: the MITRE record has
    vendor/product/version = n/a, NVD derives only
    cpe:2.3:a:provectus:ui:*:*:*:*:*:kafka:*:* with no version boundaries, and the OSV
    entry has an empty package field. So Dependabot, Docker Scout, Trivy and Grype are all
    silent on it.
  • It is exploited in the wild. An operator running provectuslabs/kafka-ui:latest exposed
    without authentication had the container used to mine cryptocurrency for about 1.5 days,
    resulting in a hosting-provider abuse report.

Correct affected data (measured 2026-09-08): >= 0.4.0, <= 0.7.2, no patched version.
Note this differs from NVD, which stops at 0.7.1 — v0.7.2 ships the identical vulnerable
MessageFilters.java (98 lines, GroovyScriptEngineImpl, case GROOVY_SCRIPT) and was
released 2024-04-10, after the CVE. :latest and :v0.7.2 share the digest
sha256:8f2ff02d64b0a7a2b71b6b3b3148b85f66d00ec20ad40c30bdcd415d46d31818.

The fix exists only in the fork kafbat/kafka-ui (commit 11a57d14, 2024-02-10, released
in v1.0.0), which renamed the package namespace from com.provectus.kafka.ui to
io.kafbat.ui — a migration to a different artifact, not an upgrade path.

Two asks:

  1. Carry the CVE as an unreviewed advisory so it is at least visible and searchable in the
    database.
  2. Consider this a data point for container-image coverage. I understand OCI images are
    outside the 12 supported ecosystems today. This case shows the gap has a concrete
    consequence: an image with 447M pulls, a known 8.8 RCE, an unmaintained upstream, and
    no tooling anywhere that flags it.

I have reported the empty OSV entry separately (google/osv.dev#5988), and a CVE update
request to MITRE to populate the structured affected fields is being submitted in
parallel — that record is the upstream cause, since it was published with
vendor/product/version all set to n/a.

Happy to open a PR here with advisory data in whichever schema you prefer, if that is
useful.

Dominant language
No language data
Stars
2.5k
Forks
772
Avg merge
3d 18h
Merged PRs (30d)
48

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from github/advisory-database

All issues in github/advisory-database

Similar issues

More Databases issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.