OSV gibt Debian-Bereiche in Quellpaket-Versionen an. Ein Quellpaket, das mehrere Binaries
ausliefert, gibt jedem seine eigene Upstream-Version — und die beiden Zahlen haben nichts
miteinander zu tun:
libldb2 2:2.11.0+samba4.22.11+dfsg-0+deb13u1 ← eigene ldb-Version
samba 2:4.22.11+dfsg-0+deb13u1 ← die Quelle
Ein Konsument, der die Koordinate über source:Package auflöst — wofür dieses Feld da ist —
und dann Version vergleicht, hält ldbs Version gegen sambas Bereich. dpkg liest 2.11.0
als älter als das 2:4.17.4+dfsg-1, das CVE-2022-44640 behoben hat. Ein Debian-13-Host mit
samba 4.22.11, fünf Releases nach dem Fix, wurde dadurch auf vier Paketen gleichzeitig
als verwundbar gemeldet.
Dieser Treiber kann den Vergleich nicht korrigieren. Er ist aber die einzige Stelle, die die
Zahl liefern kann, mit der er zu führen wäre.
Leer, wenn dpkg sie für gleich Version hält, und leer auf einem dpkg, das das Feld nicht
kennt — in beiden Fällen Rückfall auf Version, also das bisherige Verhalten.
Nebenbefund
Die Fixture trug vier Felder gegen einen Format-String, der fünf anfordert. source_package bekam dort seit jeher die Beschreibung, und keine Zusicherung hat
hingesehen. Sie enthält jetzt das, was dpkg-query tatsächlich zurückgibt — inklusive eines
Pakets, dessen Quellversion eine andere Zahl ist als seine eigene.
OSV gibt Debian-Bereiche in **Quellpaket-Versionen** an. Ein Quellpaket, das mehrere Binaries
ausliefert, gibt jedem seine eigene Upstream-Version — und die beiden Zahlen haben nichts
miteinander zu tun:
```
libldb2 2:2.11.0+samba4.22.11+dfsg-0+deb13u1 ← eigene ldb-Version
samba 2:4.22.11+dfsg-0+deb13u1 ← die Quelle
```
Ein Konsument, der die Koordinate über `source:Package` auflöst — wofür dieses Feld da ist —
und dann `Version` vergleicht, hält ldbs Version gegen sambas Bereich. dpkg liest `2.11.0`
als älter als das `2:4.17.4+dfsg-1`, das CVE-2022-44640 behoben hat. Ein Debian-13-Host mit
samba 4.22.11, fünf Releases nach dem Fix, wurde dadurch auf **vier Paketen gleichzeitig**
als verwundbar gemeldet.
Dieser Treiber kann den Vergleich nicht korrigieren. Er ist aber die einzige Stelle, die die
Zahl liefern kann, mit der er zu führen wäre.
Leer, wenn dpkg sie für gleich `Version` hält, und leer auf einem dpkg, das das Feld nicht
kennt — in beiden Fällen Rückfall auf `Version`, also das bisherige Verhalten.
### Nebenbefund
**Die Fixture trug vier Felder gegen einen Format-String, der fünf anfordert.**
`source_package` bekam dort seit jeher die *Beschreibung*, und keine Zusicherung hat
hingesehen. Sie enthält jetzt das, was `dpkg-query` tatsächlich zurückgibt — inklusive eines
Pakets, dessen Quellversion eine andere Zahl ist als seine eigene.
70 Tests grün.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
OSV states Debian ranges in *source* package versions. A source package that
ships several binaries gives each its own upstream version, and the two are
unrelated numbers: `libldb2` is `2:2.11.0+samba4.22.11+dfsg-0+deb13u1` while its
source, samba, is `2:4.22.11+dfsg-…`.
A consumer that resolves the coordinate on `source_package` — which is what this
driver's `source:Package` is for — and then compares `version` is comparing ldb's
version against samba's range. dpkg reads `2.11.0` as older than the
`2:4.17.4+dfsg-1` that fixed CVE-2022-44640, so a Debian 13 host running samba
4.22.11, five releases past the fix, was reported vulnerable on four packages at
once.
This driver cannot fix that comparison. It is the only place that can supply the
number to make it with.
Empty when dpkg considers it equal to `Version`, and empty on a dpkg that does
not know the field, so it falls back to `Version` — which is the previous
behaviour and correct everywhere except the shape above.
`maxsplit` goes from 4 to 5 with the extra field. Summary stays last, so it keeps
whatever it contains.
**The fixture was carrying four fields against a format string asking for five.**
`source_package` had been silently receiving the description, and no assertion
looked at it. It now carries what dpkg-query actually returns, including a
package whose source version is a different number from its own.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
OSV gibt Debian-Bereiche in Quellpaket-Versionen an. Ein Quellpaket, das mehrere Binaries
ausliefert, gibt jedem seine eigene Upstream-Version — und die beiden Zahlen haben nichts
miteinander zu tun:
Ein Konsument, der die Koordinate über
source:Packageauflöst — wofür dieses Feld da ist —und dann
Versionvergleicht, hält ldbs Version gegen sambas Bereich. dpkg liest2.11.0als älter als das
2:4.17.4+dfsg-1, das CVE-2022-44640 behoben hat. Ein Debian-13-Host mitsamba 4.22.11, fünf Releases nach dem Fix, wurde dadurch auf vier Paketen gleichzeitig
als verwundbar gemeldet.
Dieser Treiber kann den Vergleich nicht korrigieren. Er ist aber die einzige Stelle, die die
Zahl liefern kann, mit der er zu führen wäre.
Leer, wenn dpkg sie für gleich
Versionhält, und leer auf einem dpkg, das das Feld nichtkennt — in beiden Fällen Rückfall auf
Version, also das bisherige Verhalten.Nebenbefund
Die Fixture trug vier Felder gegen einen Format-String, der fünf anfordert.
source_packagebekam dort seit jeher die Beschreibung, und keine Zusicherung hathingesehen. Sie enthält jetzt das, was
dpkg-querytatsächlich zurückgibt — inklusive einesPakets, dessen Quellversion eine andere Zahl ist als seine eigene.
70 Tests grün.
🤖 Generated with Claude Code