Data quality issue with CVE-2021-27219 (ALPINE-CVE-2021-27219: inverted range on every Alpine branch)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 42/100
Direzione di ricerca
Start with findIntroducedVersion in vulnfeeds/cmd/converters/alpine/main.go, which pairs the 2.67.0 CPE start with Alpine's 2.66.6-r0 fix without checking order. Read the linked #5634 and #5980 before changing anything, since the fix is already proposed there. Done means the converter emits introduced "0" when the start sorts after the fix, and the query for glib 2.88.1-r1 in Alpine:v3.24 returns {}.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The CVE ID
https://osv.dev/vulnerability/ALPINE-CVE-2021-27219 (API: https://api.osv.dev/v1/vulns/ALPINE-CVE-2021-27219; source: https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2021-27219.json; modified 2026-10-23T17:17:56.165052798Z)
Describe the data quality issue observed
Every Alpine entry, from Alpine:v3.13 to Alpine:v3.24, carries the same inverted range. The Alpine:v3.24 entry is:
{"package": {"ecosystem": "Alpine:v3.24", "name": "glib", "purl": "pkg:apk/alpine/glib?arch=source"},
"ranges": [{"type": "ECOSYSTEM", "events": [{"introduced": "2.67.0"}, {"fixed": "2.66.6-r0"}]}]}
introduced (2.67.0) sorts above fixed (2.66.6-r0). So every glib from 2.67.0 upward is reported as affected and never fixed. That includes glib 2.88.1-r1, the current Alpine v3.24 build, and 2.90.0-r0, the current edge build. Versions that really are vulnerable, such as 2.66.5-r0, are reported as not affected.
Alpine's secdb has the fix in 2.66.6-r0 (https://secdb.alpinelinux.org/v3.24/main.json; edge is identical):
{"pkg": {"name": "glib", "secfixes": {"2.60.4-r0": ["CVE-2019-12450"], "2.62.5-r0": ["CVE-2020-6750"], "2.66.6-r0": ["CVE-2021-27219 GHSL-2021-045"], "2.80.1-r0": ["CVE-2024-34397"]}}}
NVD lists two separate vulnerable glib branches, "before 2.66.6" and "2.67.x before 2.67.3":
cpe:2.3:a:gnome:glib:*withversionEndExcluding: 2.66.6cpe:2.3:a:gnome:glib:*withversionStartIncluding: 2.67.0,versionEndExcluding: 2.67.3
Minimal reproduction
curl -sS https://api.osv.dev/v1/query -H 'Content-Type: application/json' \
--data '{"package":{"name":"glib","ecosystem":"Alpine:v3.24"},"version":"2.88.1-r1"}'
Observed on 2026-11-01: the response's vulns holds one record, ALPINE-CVE-2021-27219 (modified 2026-10-23T17:17:56.165052798Z).
The same query, with the version changed:
| version | ALPINE-CVE-2021-27219 returned | correct answer |
|---|---|---|
| 2.66.5-r0 | no | yes (before the fix) |
| 2.66.6-r0 | no | no |
| 2.67.3-r0 | yes | no |
| 2.88.1-r1 | yes | no |
| 2.90.0-r0 | yes | no |
Expected result: glib 2.88.1-r1 in Alpine:v3.24 does not match ALPINE-CVE-2021-27219. The response for that query is {}.
Actual result: it matches, because the range is unsatisfiable as written and is read as "affected from 2.67.0, never fixed".
Suggested changes to record
For every Alpine branch:
"ranges": [{"type": "ECOSYSTEM", "events": [{"introduced": "0"}, {"fixed": "2.66.6-r0"}]}]
Additional context
This is the converter defect described in #5634. findIntroducedVersion in vulnfeeds/cmd/converters/alpine/main.go returns the first NVD CPE match that has a VersionStartIncluding. It skips the "before 2.66.6" range, which has no start, so it takes 2.67.0 from the 2.67.x branch. It then pairs that with Alpine's fix on the 2.66.x branch, without checking that the introduced version sorts below the fixed one. The logic came in with #5586 (2026-07-05). The fix proposed in #5980 would also correct this record: use an introduced version only when it sorts before Alpine's fixed version, and otherwise fall back to "0".
- Lingua principale
- Go
- Stelle
- 3k
- Fork
- 390
- Merge medio
- 1g 1h
- PR unite (30g)
- 128
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di google/osv.dev
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
google/osv.dev#5824 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
worker to log more information for gitter internal server errorsForse di nuovo libera @ZedingZhang l’ha presa 58 giorni fa e non c’è nessuna pull request aperta. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
google/osv.dev#5809 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Create repo purls for GIT ecosystem rangesForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Apertabacklog data quality
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
google/osv.dev#3807 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di google/osv.dev
Issue simili
-
Fix mode unpins a reusable workflow call when the same repository is also used as a step actionAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
github/gh-actions-lock#261 ·
I maintainer di solito rispondono entro 1 giorno
-
bug documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
labmonkeys-space/nl6#974 ·
I maintainer di solito rispondono entro 1 giorno
-
model:sonnet phase-2-optimize runtime:claude security size:S
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
FootprintAI/Containarium#3471 ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG] serviceenvupdater filter does not update KUBERNETES_SERVICE_HOST/PORT in init containersForse già presa @RaphaelFakhri l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
openyurtio/openyurt#2845 ·
I maintainer di solito rispondono entro 7 giorni
-
fuzz.yml skips three fuzz targets, and the Action's user input describes only ~/.claudeForse già presa @predictor2718 l’ha presa oggi. Apertagithub_actions P3 tests
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno