# Alternative solutions:
If we really want to distinguish the case when we don't produce any affected >packages but the source contains the vulnerability (a build with different >flags might result in an affected package), we can create a new tag to show >this: not-affected-build-artifacts.
* [Wed, Apr 03, 2024 at 09:21:41AM +0100] Samuel Henrique:
# Alternative solutions:
If we really want to distinguish the case when we don't produce any affected >packages but the source contains the vulnerability (a build with different >flags might result in an affected package), we can create a new tag to show >this: not-affected-build-artifacts.
This. Just marking the CVE as not-affected does not distinguish between
deb and deb-src, that are still part of (and shipped by) Debian.
<no-dsa> | <unfixed> | <undetermined> | <not-affected> | <itp> | <ignored> | <postponed>
SEVERITY_LEVEL : (unimportant) | (low) | (medium) | (high)
unimportant: This problem does not affect the Debian binary package, e.g., a vulnerable source file, which is not built, a vulnerable file in doc/foo/examples/, PHP Safe mode bugs, path disclosure (doesn't matter on Debian). All "non-issues in practice" fall also into this category, like issues only "exploitable" if the code in question is setuid root, exploits which only work if someone already has administrative privileges or similar. This severity is also used for vulnerabilities in packages which are not covered by security support.
<no-dsa> | <unfixed> | <undetermined> | <not-affected> | <itp> | <ignored> | <postponed>
SEVERITY_LEVEL : (unimportant) | (low) | (medium) | (high)
unimportant: This problem does not affect the Debian binary package, e.g., a vulnerable source file, which is not built, a vulnerable file in doc/foo/examples/, PHP Safe mode bugs, path disclosure (doesn't matter on Debian). All "non-issues in practice" fall also into this category, like issues only "exploitable" if the code in question is setuid root, exploits which only work if someone already has administrative privileges or similar. This severity is also used for vulnerabilities in packages which are not covered by security support.
One issue I see with using not-affected for this is that not-affected effectively marks all older versions as that. However, in this case, a source could be affected (e.g. in bookworm) and then in sid we've stopped building the
affected files. If we mark sid as not-affected, then all older suites would be
marked as such too, which would be wrong/confusing. Perhaps in situations like
that, we could mark the sid version as fixed in x.y version, leaving the older
suites open until they are triaged (fix released, or marked as no-dsa etc).
In general though, I think this is sensible.
shadow 4.8, in certain circumstances affecting at least Gentoo, Arch Linux, and Void Linux, allows local...
Hello everyone,
On Wed, 4 Sept 2024 at 12:47, Emilio Pozuelo Monfort <[email protected]> wrote:
One issue I see with using not-affected for this is that not-affected effectively marks all older versions as that. However, in this case, a source
could be affected (e.g. in bookworm) and then in sid we've stopped building the
affected files. If we mark sid as not-affected, then all older suites would be
marked as such too, which would be wrong/confusing. Perhaps in situations like
that, we could mark the sid version as fixed in x.y version, leaving the older
suites open until they are triaged (fix released, or marked as no-dsa etc).
I think that's sensible, if a more complete solution is needed for this use case, we could change the parsing logic to allow this to happen as well.
In general though, I think this is sensible.
Thank you Emilio,
2 months have passed since my last email, so I would like to ping the security
team for feedback on this.
To confirm the expectations from this change, I've recently scanned a debian minimal image for CVEs and found out:
18 out of 67 affected packages/CVE are false positives due to this issue, this
represents 26% of false-positives
7 out out 33 unique affecting CVEs are false positives due to this issue, this
represents 21% of false-positives.
Depending on whether you care more about unique affecting CVE IDs or affected packages (a single CVE can affect multiple packages), the number of false-positives is either 21% or 26%.
I'm using a container just as a sampling source here, it is a specially good way of sampling this because a lot of important and highly downloaded docker containers are based on the Debian images.
Take the two most downloaded container images from dockerhub as an example: memcached and nginx. Memcached was pulled 12,377,951,846 times and nginx 12,035,807,525. Both of them are based on Debian, the impact of false-positives
is considerable.
One of the false-positives is a specially interesting case: https://security-tracker.debian.org/tracker/CVE-2019-19882Quoting a part of it:
shadow 4.8, in certain circumstances affecting at least Gentoo, Arch Linux, and Void Linux, allows local...
That's a CVE which was created for Gentoo, Arch Linux, and Void Linux. They have all fixed this already, but Debian ends up "stuck" with it, we report ourselves as affected for something we can't fix. While the affected distros fixed it and the other non-affected distros marked as not-affected, we are the
only ones still left with the CVE.
I'm also in favour of changing the tracking. The current procedure addresses a
fringe use case (supporting rebuilds of source packages) in an incomplete manner
and leaves too much room for confusion.
As mentioned in an earlier message: What I would love to see is to
actually have a substate which makes the situation clear, and still
beeing technically correct. I was envisioning something which would be
a substate like we have for the substate of no-dsa (ignored,
postponed).
## A2) Add a new mutually exclusive state to the set:"not-affected-build-artifacts"
Can it be that in this case the "unimportant" part of the CVE was
ignored?
In this case even if it would have been still unfixed, it was
marked from the beginning as unimportant. What I have seen often here
was that scannings were not taking into account that the whole CVE was classified unimportant.
On Tue, 29 Oct 2024 at 19:43, Salvatore Bonaccorso <[email protected]> wrote:
As mentioned in an earlier message: What I would love to see is to
actually have a substate which makes the situation clear, and still
beeing technically correct. I was envisioning something which would be
a substate like we have for the substate of no-dsa (ignored,
postponed).
This sounds like the solution proposal A2, quoting it:
## A2) Add a new mutually exclusive state to the set:"not-affected-build-artifacts"
Would this be aligned to what you're looking for?
Hello Salvatore,
On Sat, 2 Nov 2024 at 20:02, Samuel Henrique <[email protected]> wrote:
On Tue, 29 Oct 2024 at 19:43, Salvatore Bonaccorso <[email protected]> wrote:
As mentioned in an earlier message: What I would love to see is to actually have a substate which makes the situation clear, and still beeing technically correct. I was envisioning something which would be
a substate like we have for the substate of no-dsa (ignored,
postponed).
This sounds like the solution proposal A2, quoting it:
## A2) Add a new mutually exclusive state to the set:"not-affected-build-artifacts"
Would this be aligned to what you're looking for?
Could you check if the suggestion above addresses your concern?
On Wed, Nov 27, 2024 at 11:28:50PM +0000, Samuel Henrique wrote:
On Sat, 2 Nov 2024 at 20:02, Samuel Henrique <[email protected]> wrote:
On Tue, 29 Oct 2024 at 19:43, Salvatore Bonaccorso <[email protected]> wrote:
As mentioned in an earlier message: What I would love to see is to actually have a substate which makes the situation clear, and still beeing technically correct. I was envisioning something which would be a substate like we have for the substate of no-dsa (ignored, postponed).
This sounds like the solution proposal A2, quoting it:
## A2) Add a new mutually exclusive state to the set:"not-affected-build-artifacts"
Would this be aligned to what you're looking for?
Could you check if the suggestion above addresses your concern?
Not yet, but I will try to schedule a bit of time in the next weeks
for security-tracker stuff and have a look at this.
Just checking if you would have time to look into this.
Hello everyone,
On Sun, 2 Mar 2025 at 20:26, Samuel Henrique <[email protected]> wrote:
Just checking if you would have time to look into this.
Sending another ping, this proposal is now 1 year old.
For clarity, I'm not requesting the team to do any work here. I can work on the
changes, I just need a decision on the solution.
Personally, I have it as a high priority to cut down those 20% false-positive CVEs reported for Debian containers, since a lot of official containers are based on us, but this will also help non-container users.
I'm hoping that sending this is fine, but let me know if I should have waited more than a month from the previous message.
I have not gone to all details of your proposal, but the high level
view is IMHO as described in short above. For instance for the zlib
isues that would then move the entries from the ignored (which is a
substate of a no-dsa and apparently comercial security scanner are not willing to parse or adapt to) to the more narrowed down and specified substate of nonissue. In particular such a vunerability state could
exactly reflect as well per suite entry in case the state changes
between them.
On Tue, 29 Oct 2024 at 19:43, Salvatore Bonaccorso <[email protected]> wrote:
As mentioned in an earlier message: What I would love to see is to
actually have a substate which makes the situation clear, and still
beeing technically correct. I was envisioning something which would be
a substate like we have for the substate of no-dsa (ignored,
postponed).
This sounds like the solution proposal A2, quoting it:
## A2) Add a new mutually exclusive state to the set:"not-affected-build-artifacts"
Would this be aligned to what you're looking for?
Hope this clarifies that you are not beeing ignored (heh ;-) no punt
intended here :)), which is as well quite important to me to let you
know.
Hello Salvatore,
On Sun, 13 Apr 2025 at 16:32, Salvatore Bonaccorso <[email protected]> wrote:
I have not gone to all details of your proposal, but the high level
view is IMHO as described in short above. For instance for the zlib
isues that would then move the entries from the ignored (which is a substate of a no-dsa and apparently comercial security scanner are not willing to parse or adapt to) to the more narrowed down and specified substate of nonissue. In particular such a vunerability state could
exactly reflect as well per suite entry in case the state changes
between them.
You mentioned this previously, which is a fair point. I believe one of the alternatives would work, what do you think?
Quoting from that email:
On Sat, 2 Nov 2024 at 20:02, Samuel Henrique <[email protected]> wrote:
On Tue, 29 Oct 2024 at 19:43, Salvatore Bonaccorso <[email protected]> wrote:
As mentioned in an earlier message: What I would love to see is to actually have a substate which makes the situation clear, and still beeing technically correct. I was envisioning something which would be
a substate like we have for the substate of no-dsa (ignored,
postponed).
This sounds like the solution proposal A2, quoting it:
## A2) Add a new mutually exclusive state to the set:"not-affected-build-artifacts"
Would this be aligned to what you're looking for?
I think there wasn't a confirmation after this email.
Hope this clarifies that you are not beeing ignored (heh ;-) no punt intended here :)), which is as well quite important to me to let you
know.
Definitely, I didn't mean to suggest that it's not as important to you as well,
and thank you for replying!
Yes the A2 would go in the direction we are thingking, internally we
have said to it a new "nonissue" state, which can apply as well at
suite entry levels (this was not possible with the unimportant severiy
as major drawback). The nonissue (or not-affected-build-artifacts as
you call it, but we can decide on a name once developing) state would
be a new state so we can cover exactly for instance the zlib case,
several curl cases were a feature is not enabled in a given suite, say bookworm not, but above are. So as a purely example:
CVE-2024-9681 (When curl is asked to use HSTS, the expiry time for a subdomain might �...)
� � � � - curl 8.11.0-1 (bug #1086804)
� � � � [bookworm] - curl 7.88.1-10+deb12u9
� � � � [bullseye] - curl <ignored> (curl is not built with HSTS support)
Would become
CVE-2024-9681 (When curl is asked to use HSTS, the expiry time for a subdomain might �...)
� � � � - curl 8.11.0-1 (bug #1086804)
� � � � [bookworm] - curl 7.88.1-10+deb12u9
� � � � [bullseye] - curl <nonissue> (curl is not built with HSTS support)
Or
CVE-2023-28339 (OpenDoas through 6.8.2, when TIOCSTI is available, allows privilege es ...)
� � � � - doas <removed>
� � � � [bullseye] - doas <no-dsa> (Minor issue)
� � � � - opendoas <unfixed> (bug #1034185)
� � � � [trixie] - opendoas <not-affected> (Addressed via Linux kernel change)
� � � � [bookworm] - opendoas <ignored> (Minor issue, will be addressed via kernel change which isn't in 6.1 yet)
would become
CVE-2023-28339 (OpenDoas through 6.8.2, when TIOCSTI is available, allows privilege es ...)
� � � � - doas <removed>
� � � � [bullseye] - doas <no-dsa> (Minor issue)
� � � � - opendoas <unfixed> (bug #1034185)
� � � � [trixie] - opendoas <nonissue> (Addressed via Linux kernel change)
� � � � [bookworm] - opendoas <ignored> (Minor issue, will be addressed via kernel change which isn't in 6.1 yet)
Similarly we could handle CVE-2016-2568, CVE-2016-2781, CVE-2023-28339
in better ways than workaround.
Thos are just examples, and I think you have a more complete list (can
you share the CVEs so we can see how that would map into such a
state?)
Hello Salvatore, sorry about the late reply, I was in MiniDebConf Macei�.
On Thu, 1 May 2025 at 06:24, Salvatore Bonaccorso <[email protected]> wrote:
Yes the A2 would go in the direction we are thingking, internally we
have said to it a new "nonissue" state, which can apply as well at
suite entry levels (this was not possible with the unimportant severiy
as major drawback). The nonissue (or not-affected-build-artifacts as
you call it, but we can decide on a name once developing) state would
be a new state so we can cover exactly for instance the zlib case,
several curl cases were a feature is not enabled in a given suite, say bookworm not, but above are. So as a purely example:
CVE-2024-9681 (When curl is asked to use HSTS, the expiry time for a subdomain might �...)
� � � � - curl 8.11.0-1 (bug #1086804)
� � � � [bookworm] - curl 7.88.1-10+deb12u9
� � � � [bullseye] - curl <ignored> (curl is not built with HSTS support)
Would become
CVE-2024-9681 (When curl is asked to use HSTS, the expiry time for a subdomain might �...)
� � � � - curl 8.11.0-1 (bug #1086804)
� � � � [bookworm] - curl 7.88.1-10+deb12u9
� � � � [bullseye] - curl <nonissue> (curl is not built with HSTS support)
Or
CVE-2023-28339 (OpenDoas through 6.8.2, when TIOCSTI is available, allows privilege es ...)
� � � � - doas <removed>
� � � � [bullseye] - doas <no-dsa> (Minor issue)
� � � � - opendoas <unfixed> (bug #1034185)
� � � � [trixie] - opendoas <not-affected> (Addressed via Linux kernel change)
� � � � [bookworm] - opendoas <ignored> (Minor issue, will be addressed via kernel change which isn't in 6.1 yet)
would become
CVE-2023-28339 (OpenDoas through 6.8.2, when TIOCSTI is available, allows privilege es ...)
� � � � - doas <removed>
� � � � [bullseye] - doas <no-dsa> (Minor issue)
� � � � - opendoas <unfixed> (bug #1034185)
� � � � [trixie] - opendoas <nonissue> (Addressed via Linux kernel change) � � � � [bookworm] - opendoas <ignored> (Minor issue, will be addressed via kernel change which isn't in 6.1 yet)
Similarly we could handle CVE-2016-2568, CVE-2016-2781, CVE-2023-28339
in better ways than workaround.
Thos are just examples, and I think you have a more complete list (can
you share the CVEs so we can see how that would map into such a
state?)
I'm currently traveling and don't have access to the list I previously checked
(will only reach that PC close to June).
But I think "nonissue" will work perfectly, at least as long as we also define
that <nonissue> will always result in the security-tracker (web UI, json) and OVAL file (or alternatives we might generate in the future) showing the package's binaries as "not-affected". Is this in line with what you discussed?
I'm asking because "nonissue" has a broader definition compared to "not-affected-build-artifacts", and if "nonissue" is used for questionable CVEs
(e.g.: CVEs for elfutils or without security impact), then we can't end up in a
situation where "nonissue" is not evaluated as "not-affected", as this defeats
the whole purpose of the solution.
Dear security team,
El 10/05/25 a las 16:14, Samuel Henrique escribi�:
Hello Salvatore, sorry about the late reply, I was in MiniDebConf Macei�.
On Thu, 1 May 2025 at 06:24, Salvatore Bonaccorso <[email protected]> wrote:
Yes the A2 would go in the direction we are thingking, internally we
have said to it a new "nonissue" state, which can apply as well at
suite entry levels (this was not possible with the unimportant severiy
as major drawback). The nonissue (or not-affected-build-artifacts as
you call it, but we can decide on a name once developing) state would
be a new state so we can cover exactly for instance the zlib case, several curl cases were a feature is not enabled in a given suite, say bookworm not, but above are. So as a purely example:
CVE-2024-9681 (When curl is asked to use HSTS, the expiry time for a subdomain might �...)
� � � � - curl 8.11.0-1 (bug #1086804)
� � � � [bookworm] - curl 7.88.1-10+deb12u9
� � � � [bullseye] - curl <ignored> (curl is not built with HSTS support)
Would become
CVE-2024-9681 (When curl is asked to use HSTS, the expiry time for a subdomain might �...)
� � � � - curl 8.11.0-1 (bug #1086804)
� � � � [bookworm] - curl 7.88.1-10+deb12u9
� � � � [bullseye] - curl <nonissue> (curl is not built with HSTS support)
Or
CVE-2023-28339 (OpenDoas through 6.8.2, when TIOCSTI is available, allows privilege es ...)
� � � � - doas <removed>
� � � � [bullseye] - doas <no-dsa> (Minor issue)
� � � � - opendoas <unfixed> (bug #1034185)
� � � � [trixie] - opendoas <not-affected> (Addressed via Linux kernel change)
� � � � [bookworm] - opendoas <ignored> (Minor issue, will be addressed via kernel change which isn't in 6.1 yet)
would become
CVE-2023-28339 (OpenDoas through 6.8.2, when TIOCSTI is available, allows privilege es ...)
� � � � - doas <removed>
� � � � [bullseye] - doas <no-dsa> (Minor issue)
� � � � - opendoas <unfixed> (bug #1034185)
� � � � [trixie] - opendoas <nonissue> (Addressed via Linux kernel change)
� � � � [bookworm] - opendoas <ignored> (Minor issue, will be addressed via kernel change which isn't in 6.1 yet)
Similarly we could handle CVE-2016-2568, CVE-2016-2781, CVE-2023-28339
in better ways than workaround.
Thos are just examples, and I think you have a more complete list (can you share the CVEs so we can see how that would map into such a
state?)
I'm currently traveling and don't have access to the list I previously checked
(will only reach that PC close to June).
But I think "nonissue" will work perfectly, at least as long as we also define
that <nonissue> will always result in the security-tracker (web UI, json) and
OVAL file (or alternatives we might generate in the future) showing the package's binaries as "not-affected". Is this in line with what you discussed?
I'm asking because "nonissue" has a broader definition compared to "not-affected-build-artifacts", and if "nonissue" is used for questionable CVEs
(e.g.: CVEs for elfutils or without security impact), then we can't end up in a
situation where "nonissue" is not evaluated as "not-affected", as this defeats
the whole purpose of the solution.
[snip]
Would you be OK if we track the above proposal on a salsa issue in, https://salsa.debian.org/security-tracker-team/security-tracker/-/issues?
If you are OK, I could volunteer to file the issue. But I'd be happy if Samuel files it too.
As you are aware, the Debian LTS team is planning to hold a sprint
during DebCamp 25. And if the above proposal is beneficial for you too
(I think this would help us in the context of LTS and ELTS), it would be great to include it in the "target issues" to be addressed in the
context of the sprint.
Hi Santiago,
On Fri, May 16, 2025 at 03:20:36PM -0300, Santiago Ruano Rinc�n wrote:
Would you be OK if we track the above proposal on a salsa issue in, https://salsa.debian.org/security-tracker-team/security-tracker/-/issues? If you are OK, I could volunteer to file the issue. But I'd be happy if Samuel files it too.
As you are aware, the Debian LTS team is planning to hold a sprint
during DebCamp 25. And if the above proposal is beneficial for you too
(I think this would help us in the context of LTS and ELTS), it would be great to include it in the "target issues" to be addressed in the
context of the sprint.
Given during development there will be needed review, maybe subtask
etc ... yes I agree that we can start tracking the tasks around the
nonissue state as issue in the tracker.
So to move it outside of a mail thread directly to the salsa.
| Sysop: | Keyop |
|---|---|
| Location: | Huddersfield, West Yorkshire, UK |
| Users: | 715 |
| Nodes: | 16 (2 / 14) |
| Uptime: | 156:53:14 |
| Calls: | 12,093 |
| Calls today: | 1 |
| Files: | 15,000 |
| Messages: | 6,517,746 |