Bug 46885

Summary: некорректная схема версионирования пакета
Product: Sisyphus Reporter: Danil Shein <dshein>
Component: usbipAssignee: Pavel Vainerman <pv>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: lav, led, pv, rider
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Danil Shein 2023-07-12 15:49:11 MSK
Пакет в репозитории имеет схему версионирования MAJOR.MINOR в то время как в апстриме применяется схема MAJOR.MINOR.PATCH

В настоящий момент в рамках проекта ALTRepo DB (packages.altlinux.org, rdb.altlinux.org) ведётся активная разработка иyструментария поиска открытых и закрытых уязвимостей пакетов репозитория ALT Linux.

Существующая схема версионирования приводит к тому, что при анализе уязвимости пакетов с использованием данных CVE возникают ошибки при сравнении версий.

Например для версии пакета 5.10 уязвимость содержащая следующую конфигурацию `CPE matching`:
{
   "cpe": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
   "versions": {
     "version_start": "",
     "version_end": "5.10.0",
     "version_start_excluded": false,
     "version_end_excluded": true
   }
}
считается открытой потому что версия 5.10 при сравнении считается меньше чем 5.10.0, которая исключена из диапазона версий.

В других дистрибутивах пакет usbip версионируется по схеме как у ядра (MAJOR.MINOR.PATCH)
https://repology.org/project/linux/versions

Изменение схемы версионирования позволит эффективно отслеживать как закрытые так и открытые уязвимость пакетов в репозитории и значительно снизить процент ложных срабатываний.
Comment 1 Vitaly Lipatov 2023-07-29 13:34:25 MSK
(Ответ для Danil Shein на комментарий #0)
> Пакет в репозитории имеет схему версионирования MAJOR.MINOR в то время как в
> апстриме применяется схема MAJOR.MINOR.PATCH
...
> считается открытой потому что версия 5.10 при сравнении считается меньше чем
> 5.10.0, которая исключена из диапазона версий.
> 
> В других дистрибутивах пакет usbip версионируется по схеме как у ядра
> (MAJOR.MINOR.PATCH)
> https://repology.org/project/linux/versions

...
К примеру, у нас пакеты с исходниками ядра выглядят так:
kernel-source-6.0 - Linux kernel 6.0 sources
kernel-source-6.1 - Linux kernel 6.1 sources
kernel-source-6.2 - Linux kernel 6.2 sources
kernel-source-6.3 - Linux kernel 6.3 sources
kernel-source-6.4 - Linux kernel 6.4 sources

Я могу добавить .0 к версии.
Comment 2 Anton Farygin 2024-01-30 10:47:08 MSK
Да, добавить .0 к версии было бы отлично.