Policy review: major upstream version available: libselinux 3.8.1 → 20200710 #1
Labels
No labels
ai-summary
bot
needs-policy-decision
policy/major-blocked
priority/high
security-release
update/major
upstream-update
upstream/github
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
rpms/libselinux#1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Upstream update available:
libselinux3.8.1→20200710Package
libselinuxlibselinuxniceos-5.23.8.1-1majorpython_rpmleafgithub-upstreamUpstream
githubSELinuxProject/selinux2020071020200710github_release2020-07-10T15:42:23ZFalseSignals
TrueTruepackage appears to be a library/API dependencyai-summary, bot, needs-policy-decision, policy/major-blocked, priority/high, security-release, update/major, upstream-update, upstream/githubNiceOS policy decision
This is a policy-blocked major update. Do not update automatically.
Major updates for libraries, toolchain and security-critical packages require explicit manual architecture review, ABI/API compatibility review, reverse-dependency impact analysis and controlled rebuild planning.
NiceSOFT AI preliminary analysis
1. Краткий вывод
Обновление пакета
libselinuxс версии 3.8.1 до 20200710 является мажорным и включает удаление устаревших заголовочных файлов (flask.h,av_permissions.h) и изменение поведения компиляции. Обновление заблокировано политикой дистрибутива из-за статуса пакета как библиотеки/API-зависимости.2. Риск для НАЙС.ОС
high. Удаление публичных API (заголовков
flask.hиav_permissions.h) представляет критическую угрозу стабильности системы, так как любые пользовательские программы или системные утилиты, использующие эти интерфейсы, перестанут компилироваться или работать после обновления. Мажорное обновление блокируется политикой по умолчанию.3. Security/CVE
Во входных данных присутствуют ключевые слова безопасности (
security_keywords_detected_by_script: True), однако конкретные CVE не указаны в тексте релизов или списке исправленных задач. Список закрытых тикетов содержит ссылки на GitHub issues, но их содержание не раскрывает наличие уязвимостей в данном фрагменте данных.4. ABI/API риск
Высокий риск нарушения ABI. Удаление файлов
selinux/flask.h,selinux/av_permissions.hиsepol/policydb/flask.hозначает прямое удаление символов из публичного API. Также отмечено удаление обертки DSO для внутренних вызовов и требование флага-fno-semantic-interposition, что может изменить поведение линковки и разрешения символов. Необходим ручной анализ зависимостей всех пакетов, зависящих отlibselinux.5. Риск для RPM-сборки
Возможен сбой сборки пакетов, которые:
string_to_security_class,string_to_av_permилиselinux_set_mappingбез соответствующей миграции кода (хотя они добавлены, старые пути больше недоступны).matchpathcon(интерфейсы помечены как deprecated).IPy(упомянуто, чтоsemanageпереключился наipaddress, что может повлиять на пакеты, предоставляющие старые зависимости или использующие их специфично).%checkтесты, которые могут падать из-за изменения поведенияcheckpolicy(недопустимые символы теперь ошибка) или новых ограничений монтированияselinuxfs.6. Проверки мейнтейнера
libselinux(черезrpm -q --whatrequires).<flask.h>или<av_permissions.h>.matchpathconв зависимых пакетах.libselinuxв изолированной среде.semanage,restorecon,setfiles) после обновления.restorecond_user.service.7. Рекомендация
blocked manual review
8. Основание рекомендации
Обновление заблокировано политикой (
policy_blocked: True) из-за того, что пакет является библиотекой/API-зависимостью. Кроме того, мажорное обновление включает удаление публичных заголовков, что требует обязательного ручного аудита всех зависимых пакетов перед разрешением обновления, чтобы избежать массового отказа в работе приложений. Автоматическое применение невозможно.Upstream release notes / description
User-visible changes
selinux/flask.h, selinux/av_permissions.h and sepol/policydb/flask.h were removed
The flask.h and av_permissions.h header files were deprecated and
all selinux userspace references to them were removed in
commit 76913d8adb61b5 ("Deprecate use of flask.h and av_permissions.h.")
back in 2014 and included in the 20150202 / 2.4 release.
All userspace object managers should have been updated
to use the dynamic class/perm mapping support since that time.
Remove these headers finally to ensure that no users remain and
that no future uses are ever introduced.
Use string_to_security_class(3) and string_to_av_perm(3) to map the class and
permission names to their policy values, or selinux_set_mapping(3) to create a
mapping from class and permission index values used by the application to the
policy values.
Removed restrictions in libsepol and checkpolicy that required all declared
initial SIDs to be assigned a context.
Support for new policy capability genfs_seclabel_symlinks
New
setfiles -Eoption - treat conflicting specifications as errors, suchas where two hardlinks for the same inode have different contexts.
restorecond_user.service- new systemd user service which runsrestorecond -usetsebool -Vreports errors from commit phaseImproved man pages
semanageuses ipaddress Python module instead of IPymatchpathcon related interfaces are deprecated
selinuxfs is mounted with noexec and nosuid
the dso wrappers for internal calls were removed and it is now strongly recommended to CFLAGS with
-fno-semantic-interpositionsecurity_compute_user()was deprecatedcheckpolicy treats invalid characters as an error - might break rare use cases (intentionally)
New
restorecon -xoption which prevents it from crossing file system boundaries.Handle
semanage modulein semanage bash completionsepolgen-ifgenparses a gen_tunable statement as boolsemanagehandles getprotobyname() failure case on Debian where /etc/protocols does not contain an entry for "ipv4"Packaging-relevant changes
Setting CFLAGS during the make process will cause the omission of many defaults. While the project strives
to provide a reasonable set of default flags, custom CFLAGS could break the build, or have other undesired
changes on the build output. Thus, be very careful when setting CFLAGS. CFLAGS that are encouraged to be
set when overriding are:
will support passing this flag, but ignore it. Previous clang versions fail.
setup.pybuilds can be customized using PYTHON_SETUP_ARGS, e.g. to forDebian Python layout use:
make PYTHON_SETUP_ARGS=--install-layout=deb ...Development-relevant changes
Improved README which was renamed to README.md and converted to markdown.
Added Travis CI job to run SELinux kernel testsuite on latest Fedora cloud image
Issues fixed
NiceOS maintainer checklist
Versionand related fields inSPECS/*.speconly if policy allows it.SOURCES/sources.lock.json, manifests, metadata and SBOM.Bot metadata
niceos_upstream_monitor.py 1.42026-04-28T15:46:51Z