CVE-2026-44941
libzypp path traversal via "keyhint" in repomd.xml
A relative path traversal in the "keyhint" option in repomd.xml parsing of libzypp before 17.38.12 can be used by attackers able to supply a malicious repository to inject or overwrite files in the target system as root.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- High
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.4
libzypp path traversal via "keyhint" in repomd.xml
A relative path traversal in the "keyhint" option in repomd.xml parsing of libzypp before 17.38.12 can be used by attackers able to supply a malicious repository to inject or overwrite files in the target system as root.
- Record
CVE-2026-44941- CVSS 3.1
- 8.4 High
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:H - Weakness
- CWE-23
- Updated
- 2026-11-02
EUVDEUVD-2026-41406
8.4
A relative path traversal in the "keyhint" option in repomd.xml parsing of libzypp before 17.38.12 can be used by attackers able to supply a malicious repository to inject or overwrite files in the target system as root.
- Record
EUVD-2026-41406- CVSS 3.1
- 8.4 High
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-wp9x-wjhc-28mv
8.4
A relative path traversal in the "keyhint" option in repomd.xml parsing of libzypp before 17.38...
A relative path traversal in the "keyhint" option in repomd.xml parsing of libzypp before 17.38.12 can be used by attackers able to supply a malicious repository to inject or overwrite files in the target system as root.
- Record
GHSA-wp9x-wjhc-28mv- CVSS 3.1
- 8.4 High
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:H - Weakness
- CWE-23
- Updated
- 2026-11-02
NVD
8.4
A relative path traversal in the "keyhint" option in repomd.xml parsing of libzypp before 17.38.12 can be used by attackers able to supply a malicious repository to inject or overwrite files in the target system as root.
- Record
CVE-2026-44941- CVSS 3.1
- 8.4 High
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:H - CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Weakness
- CWE-23
- Updated
- 2026-11-02
OSV
8.4
libzypp path traversal via "keyhint" in repomd.xml
A relative path traversal in the "keyhint" option in repomd.xml parsing of libzypp before 17.38.12 can be used by attackers able to supply a malicious repository to inject or overwrite files in the target system as root.
- Record
CVE-2026-44941- CVSS 3.1
- 8.4 High
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:H - Weakness
- CWE-23
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-44941
8.8
A relative path traversal in the "keyhint" option in repomd.xml parsing of libzypp before 17.38.12 can be used by attackers able to supply a malicious repository to inject or overwrite files in the target system as root.
- Record
DEBIAN-CVE-2026-44941- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 11 moreShow less
OSVUBUNTU-CVE-2026-44941
8.4
A relative path traversal in the "keyhint" option in repomd.xml parsing of libzypp before 17.38.12 can be used by attackers able to supply a malicious repository to inject or overwrite files in the target system as root.
- Record
UBUNTU-CVE-2026-44941- CVSS 3.1
- 8.4 High
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:H - CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVopenSUSE-SU-2026:10984-1 No score
libzypp-17.38.13-1.1 on GA media
These are all security issues fixed in the libzypp-17.38.13-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:10984-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21096-1 No score
Security update for zypper, libzypp, libsolv
This update for zypper, libzypp, libsolv fixes the following issues:
Changes in zypper:
Update to 1.14.98:
- Transactional systems: Delegate rw-commands to transactional-wrapper if available (jsc#PED-13680, jsc#PED-15607) On a transactional system where the root filesystem is mounted read-only, zypper commands that modify the system cannot be executed directly. If the system provides a transactional-wrapper utility, zypper will automatically attempt to invoke it. The wrapper transparently executes the zypper command within a new, writable snapshot and manages the lifecycle of that snapshot based on the command's exit status. On transactional systems lacking a transactional-wrapper, users must manually invoke specialized tools -such as transactional-update- to install, update, or remove software.
- Add --filter-version-change to zypper lu. Adds filtering by version change significance to reduce noise in update listings. Supports levels: rebuild (hides rebuild-only changes) and package (hides all release-only changes).
- Autorefresh ris-services the way as plugin-services (bsc#1246504) It's actually wrong to treat service refreshes different depending on the service type. For the purpose of a service it makes no difference how the data about the repos to use are acquired.
Changes in libzypp:
Updated to 17.38.13:
- A .repo files "path=" entry must not refer to a location outside the repo (bsc#1267874, CVE-2026-44942) A "path=" entry may solely denote a sub-directory of the baseurl where the metadata are located. A relative path trying to access data outside the baseurl is reported and sanitized.
- Repo "keyhint" must denote a filename, no path (bsc#1267426, CVE-2026-44941)
- Fix potential crash on malformed or malicious repository metadata (fixes #740)
- Repo metadata: discard entries referring to a location outside the repo (bsc#1259802, CVE-2026-25707) Mirroring those data locally would refer to a location outside the repo's local cache directory. Those data entries are reported and discarded.
- zypp.conf: Allow [env] section to add environment variables. This feature is designed to enable environment-specific settings or debugging options over an extended period. See zypp.conf(5).
- Prevent configured scripts from escaping the sigcheck directory (bsc#1265223, CVE-2026-44933)
- StringV: guard hasPrefix/hasPrefixCI against reading past the view end (fixes #735)
- Mandatory signature verification plugin support (PED#11922)
- Fix purge-kernel -rc kernel handling (bsc#1239718)
- Explicitly_set_pool_DISTTYPE_RPM (fixes #726)
- Check for trusted key updates when updating the general keyring (bsc#1259706)
- Support multiple MirroredOrigin authorities (bsc#1253193)
- Workaround doxygen bug: doxygen/doxygen#12057
- libzypp.spec: Add missing graphviz-gd BuildRequires (boo#1259842)
Changes in libsolv:
Updated to 0.7.39:
- fix solv_chksum_free segfault when called with a NULL pointer
- made repo_add_solv more robust against corrupt files [bsc#1265935] [CVE-2026-9149]
- fix potential buffer overflow when verifying EdDSA signatures [bsc#1266039] [CVE-2026-48863]
- added limit checks in multiple places to catch overflows
- reduce the size of the language id cache
- fixed Debian canon selection
- fixed dbpath detection in repo_rpmdb_librpm
- reduced stack usage in repo page compression (needed for musl)
- fix parsing of sha512 checksums in debian repositories [bsc#1265938] [CVE-2026-9150]
- improve speed of dirpool_add_dir makeing parsing of filelists.xml twice as fast
- fix parsing of recommends in the old Mandriva synthesis format
- Record
openSUSE-SU-2026:21096-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:22062-1 No score
Security update for libzypp
This update for libzypp fixes the following issue
Version 17.38.12 (35):
- CVE-2026-44941: path traversal via "keyhint" (bsc#1267426).
- Record
SUSE-SU-2026:22062-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:22073-1 No score
Security update for libzypp
This update for libzypp fixes the following issues
Version 17.38.13 (35):
- CVE-2026-44941: path traversal via "keyhint" (bsc#1267426).
- CVE-2026-44942: .repo files can have an optional path which can lead to path traversal attacks (bsc#1267874).
- Record
SUSE-SU-2026:22073-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:22172-1 No score
Security update for zypper, libzypp, libsolv
This update for zypper, libzypp, libsolv fixes the following issues:
Changes in zypper:
Update to 1.14.98:
- Transactional systems: Delegate rw-commands to transactional-wrapper if available (jsc#PED-13680, jsc#PED-15607) On a transactional system where the root filesystem is mounted read-only, zypper commands that modify the system cannot be executed directly. If the system provides a transactional-wrapper utility, zypper will automatically attempt to invoke it. The wrapper transparently executes the zypper command within a new, writable snapshot and manages the lifecycle of that snapshot based on the command's exit status. On transactional systems lacking a transactional-wrapper, users must manually invoke specialized tools -such as transactional-update- to install, update, or remove software.
- Add --filter-version-change to zypper lu. Adds filtering by version change significance to reduce noise in update listings. Supports levels: rebuild (hides rebuild-only changes) and package (hides all release-only changes).
- Autorefresh ris-services the way as plugin-services (bsc#1246504) It's actually wrong to treat service refreshes different depending on the service type. For the purpose of a service it makes no difference how the data about the repos to use are acquired.
Changes in libzypp:
Updated to 17.38.13:
- A .repo files "path=" entry must not refer to a location outside the repo (bsc#1267874, CVE-2026-44942) A "path=" entry may solely denote a sub-directory of the baseurl where the metadata are located. A relative path trying to access data outside the baseurl is reported and sanitized.
- Repo "keyhint" must denote a filename, no path (bsc#1267426, CVE-2026-44941)
- Fix potential crash on malformed or malicious repository metadata (fixes #740)
- Repo metadata: discard entries referring to a location outside the repo (bsc#1259802, CVE-2026-25707) Mirroring those data locally would refer to a location outside the repo's local cache directory. Those data entries are reported and discarded.
- zypp.conf: Allow [env] section to add environment variables. This feature is designed to enable environment-specific settings or debugging options over an extended period. See zypp.conf(5).
- Prevent configured scripts from escaping the sigcheck directory (bsc#1265223, CVE-2026-44933)
- StringV: guard hasPrefix/hasPrefixCI against reading past the view end (fixes #735)
- Mandatory signature verification plugin support (PED#11922)
- Fix purge-kernel -rc kernel handling (bsc#1239718)
- Explicitly_set_pool_DISTTYPE_RPM (fixes #726)
- Check for trusted key updates when updating the general keyring (bsc#1259706)
- Support multiple MirroredOrigin authorities (bsc#1253193)
- Workaround doxygen bug: doxygen/doxygen#12057
- libzypp.spec: Add missing graphviz-gd BuildRequires (boo#1259842)
Changes in libsolv:
Updated to 0.7.39:
- fix solv_chksum_free segfault when called with a NULL pointer
- made repo_add_solv more robust against corrupt files [bsc#1265935] [CVE-2026-9149]
- fix potential buffer overflow when verifying EdDSA signatures [bsc#1266039] [CVE-2026-48863]
- added limit checks in multiple places to catch overflows
- reduce the size of the language id cache
- fixed Debian canon selection
- fixed dbpath detection in repo_rpmdb_librpm
- reduced stack usage in repo page compression (needed for musl)
- fix parsing of sha512 checksums in debian repositories [bsc#1265938] [CVE-2026-9150]
- improve speed of dirpool_add_dir makeing parsing of filelists.xml twice as fast
- fix parsing of recommends in the old Mandriva synthesis format
- Record
SUSE-SU-2026:22172-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:22221-1 No score
Security update for zypper, libzypp, libsolv
This update for zypper, libzypp, libsolv fixes the following issues:
Changes in zypper:
Update to 1.14.98:
- Transactional systems: Delegate rw-commands to transactional-wrapper if available (jsc#PED-13680, jsc#PED-15607) On a transactional system where the root filesystem is mounted read-only, zypper commands that modify the system cannot be executed directly. If the system provides a transactional-wrapper utility, zypper will automatically attempt to invoke it. The wrapper transparently executes the zypper command within a new, writable snapshot and manages the lifecycle of that snapshot based on the command's exit status. On transactional systems lacking a transactional-wrapper, users must manually invoke specialized tools -such as transactional-update- to install, update, or remove software.
- Add --filter-version-change to zypper lu. Adds filtering by version change significance to reduce noise in update listings. Supports levels: rebuild (hides rebuild-only changes) and package (hides all release-only changes).
- Autorefresh ris-services the way as plugin-services (bsc#1246504) It's actually wrong to treat service refreshes different depending on the service type. For the purpose of a service it makes no difference how the data about the repos to use are acquired.
Changes in libzypp:
Updated to 17.38.13:
- A .repo files "path=" entry must not refer to a location outside the repo (bsc#1267874, CVE-2026-44942) A "path=" entry may solely denote a sub-directory of the baseurl where the metadata are located. A relative path trying to access data outside the baseurl is reported and sanitized.
- Repo "keyhint" must denote a filename, no path (bsc#1267426, CVE-2026-44941)
- Fix potential crash on malformed or malicious repository metadata (fixes #740)
- Repo metadata: discard entries referring to a location outside the repo (bsc#1259802, CVE-2026-25707) Mirroring those data locally would refer to a location outside the repo's local cache directory. Those data entries are reported and discarded.
- zypp.conf: Allow [env] section to add environment variables. This feature is designed to enable environment-specific settings or debugging options over an extended period. See zypp.conf(5).
- Prevent configured scripts from escaping the sigcheck directory (bsc#1265223, CVE-2026-44933)
- StringV: guard hasPrefix/hasPrefixCI against reading past the view end (fixes #735)
- Mandatory signature verification plugin support (PED#11922)
- Fix purge-kernel -rc kernel handling (bsc#1239718)
- Explicitly_set_pool_DISTTYPE_RPM (fixes #726)
- Check for trusted key updates when updating the general keyring (bsc#1259706)
- Support multiple MirroredOrigin authorities (bsc#1253193)
- Workaround doxygen bug: doxygen/doxygen#12057
- libzypp.spec: Add missing graphviz-gd BuildRequires (boo#1259842)
Changes in libsolv:
Updated to 0.7.39:
- fix solv_chksum_free segfault when called with a NULL pointer
- made repo_add_solv more robust against corrupt files [bsc#1265935] [CVE-2026-9149]
- fix potential buffer overflow when verifying EdDSA signatures [bsc#1266039] [CVE-2026-48863]
- added limit checks in multiple places to catch overflows
- reduce the size of the language id cache
- fixed Debian canon selection
- fixed dbpath detection in repo_rpmdb_librpm
- reduced stack usage in repo page compression (needed for musl)
- fix parsing of sha512 checksums in debian repositories [bsc#1265938] [CVE-2026-9150]
- improve speed of dirpool_add_dir makeing parsing of filelists.xml twice as fast
- fix parsing of recommends in the old Mandriva synthesis format
- Record
SUSE-SU-2026:22221-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:2531-1 No score
Security update for libsolv, libzypp, zypper
This update for libsolv, libzypp, zypper fixes the following issues
- CVE-2026-9149: Heap buffer overflow in libsolv repo_add_solv via negative maxsize from crafted .solv file (bsc#1265935).
- CVE-2026-9150: Stack-based buffer overflow in libsolv's Debian metadata parser when handling SHA384/SHA512 checksums (bsc#1265938).
- CVE-2026-25707: Handcrafted repo metadata may cause arbitrary local files to be overwritten (bsc#1259802).
- CVE-2026-44933: scan of the Mandatory signature verification plugin support (bsc#1265223).
- CVE-2026-44941: path traversal via 'keyhint' (bsc#1267426).
- CVE-2026-44942: .repo files can have an optional path which can lead to path traversal attacks (bsc#1267874).
- CVE-2026-48863: Fix buffer overflow when parsing EdDSA signature (bsc#1266039).
Changes in libzypp:
Updated to version 17.38.13 (35):
- A .repo files 'path=' entry must not refer to a location outside the repo (bsc#1267874, CVE-2026-44942) A 'path=' entry may solely denote a sub-directory of the baseurl where the metadata are located. A relative path trying to access data outside the baseurl is reported and sanitized.
- Fix potential crash on malformed or malicious repository metadata (fixes #740)
- Repo metadata: discard entries referring to a location outside the repo (bsc#1259802, CVE-2026-25707) Mirroring those data locally would refer to a location outside the repo's local cache directory. Those data entries are reported and discarded.
- zypp.conf: Allow [env] section to add environment variables. This feature is designed to enable environment-specific settings or debugging options over an extended period. See zypp.conf(5).
- Prevent configured scripts from escaping the sigcheck directory (bsc#1265223, CVE-2026-44933)
- StringV: guard hasPrefix/hasPrefixCI against reading past the view end (fixes #735)
- Mandatory signature verification plugin support (PED#11922)
- Fix purge-kernel -rc kernel handling (bsc#1239718)
- Explicitly_set_pool_DISTTYPE_RPM (fixes #726)
- Check for trusted key updates when updating the general keyring (bsc#1259706)
- Support multiple MirroredOrigin authorities (bsc#1253193)
- Workaround doxygen bug: doxygen/doxygen#12057
- libzypp.spec: Add missing graphviz-gd BuildRequires (boo#1259842)
- Fix preloader not caching packages from arch specific subrepos (bsc#1253740)
- Deprioritize invalid mirrors (fixes openSUSE/zypper#636)
- Fix Product::referencePackage lookup (bsc#1259311) Use a provided autoproduct() as hint to the package name of the release package. It might be that not just multiple versions of the same release package provide the same product version, but also different release packages.
- specfile: on fedora use %{_prefix}/share as zyppconfdir if %{_distconfdir} is undefined (fixes #693) This will set '-DZYPPCONFDIR=%{zyppconfdir}' for cmake.
- Fall back to a writable location when precaching packages without root (bsc#1247948)
- Prepare a legacy /etc/zypp/zypp.conf to be installed on old distros. See the ZYPP.CONF(5) man page for details.
- Fix runtime check for broken rpm --runposttrans (bsc#1257068)
- Avoid libcurl-mini4 when building as it does not support ftp protocol.
- Translation: updated .pot file.
- zypp.conf: follow the UAPI configuration file specification (PED-14658) In short terms it means we will no longer ship an /etc/zypp/zypp.conf, but store our own defaults in /usr/etc/zypp/zypp.conf. The systems administrator may choose to keep a full copy in /etc/zypp/zypp.conf ignoring our config file settings completely, or - the preferred way - to overwrite specific settings via /etc/zypp/zypp.conf.d/*.conf overlay files. See the ZYPP.CONF(5) man page for details.
- cmake: correctly detect rpm6 (fixes #689)
- Use 'zypp.tmp' as temp directory component to ease setting up SELinux policies (bsc#1249435)
- zyppng: Update Provider to current MediaCurl2 download approach, drop Metalink ( fixes #682 )
Changes in libsolv: …
- Record
SUSE-SU-2026:2531-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:2575-1 No score
Security update for libsolv, libzypp, zypper
This update for libsolv, libzypp, zypper fixes the following issues
- CVE-2026-9149: Heap buffer overflow in libsolv repo_add_solv via negative maxsize from crafted .solv file (bsc#1265935).
- CVE-2026-9150: Stack-based buffer overflow in libsolv's Debian metadata parser when handling SHA384/SHA512 checksums (bsc#1265938).
- CVE-2026-25707: Handcrafted repo metadata may cause arbitrary local files to be overwritten (bsc#1259802).
- CVE-2026-44933: scan of the Mandatory signature verification plugin support (bsc#1265223).
- CVE-2026-44941: path traversal via 'keyhint' (bsc#1267426).
- CVE-2026-44942: .repo files can have an optional path which can lead to path traversal attacks (bsc#1267874).
- CVE-2026-48863: Fix buffer overflow when parsing EdDSA signature (bsc#1266039).
Changes in libzypp:
Updated to version 17.38.13 (35):
- A .repo files 'path=' entry must not refer to a location outside the repo (bsc#1267874, CVE-2026-44942) A 'path=' entry may solely denote a sub-directory of the baseurl where the metadata are located. A relative path trying to access data outside the baseurl is reported and sanitized.
- Fix potential crash on malformed or malicious repository metadata (fixes #740)
- Repo metadata: discard entries referring to a location outside the repo (bsc#1259802, CVE-2026-25707) Mirroring those data locally would refer to a location outside the repo's local cache directory. Those data entries are reported and discarded.
- zypp.conf: Allow [env] section to add environment variables. This feature is designed to enable environment-specific settings or debugging options over an extended period. See zypp.conf(5).
- Prevent configured scripts from escaping the sigcheck directory (bsc#1265223, CVE-2026-44933)
- StringV: guard hasPrefix/hasPrefixCI against reading past the view end (fixes #735)
- Mandatory signature verification plugin support (PED#11922)
- Fix purge-kernel -rc kernel handling (bsc#1239718)
- Explicitly_set_pool_DISTTYPE_RPM (fixes #726)
- Check for trusted key updates when updating the general keyring (bsc#1259706)
- Support multiple MirroredOrigin authorities (bsc#1253193)
- Workaround doxygen bug: doxygen/doxygen#12057
- libzypp.spec: Add missing graphviz-gd BuildRequires (boo#1259842)
- Fix preloader not caching packages from arch specific subrepos (bsc#1253740)
- Deprioritize invalid mirrors (fixes openSUSE/zypper#636)
- Fix Product::referencePackage lookup (bsc#1259311) Use a provided autoproduct() as hint to the package name of the release package. It might be that not just multiple versions of the same release package provide the same product version, but also different release packages.
- specfile: on fedora use %{_prefix}/share as zyppconfdir if %{_distconfdir} is undefined (fixes #693) This will set '-DZYPPCONFDIR=%{zyppconfdir}' for cmake.
- Fall back to a writable location when precaching packages without root (bsc#1247948)
- Prepare a legacy /etc/zypp/zypp.conf to be installed on old distros. See the ZYPP.CONF(5) man page for details.
- Fix runtime check for broken rpm --runposttrans (bsc#1257068)
- Avoid libcurl-mini4 when building as it does not support ftp protocol.
- Translation: updated .pot file.
- zypp.conf: follow the UAPI configuration file specification (PED-14658) In short terms it means we will no longer ship an /etc/zypp/zypp.conf, but store our own defaults in /usr/etc/zypp/zypp.conf. The systems administrator may choose to keep a full copy in /etc/zypp/zypp.conf ignoring our config file settings completely, or - the preferred way - to overwrite specific settings via /etc/zypp/zypp.conf.d/*.conf overlay files. See the ZYPP.CONF(5) man page for details.
- cmake: correctly detect rpm6 (fixes #689)
- Use 'zypp.tmp' as temp directory component to ease setting up SELinux policies (bsc#1249435)
- zyppng: Update Provider to current MediaCurl2 download approach, drop Metalink ( fixes #682 )
Changes in libsolv: …
- Record
SUSE-SU-2026:2575-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:2590-1 No score
Security update for libsolv, libzypp, zypper
This update for libsolv, libzypp, zypper fixes the following issues
- CVE-2026-9149: Heap buffer overflow in libsolv repo_add_solv via negative maxsize from crafted .solv file (bsc#1265935).
- CVE-2026-9150: Stack-based buffer overflow in libsolv's Debian metadata parser when handling SHA384/SHA512 checksums (bsc#1265938).
- CVE-2026-25707: Handcrafted repo metadata may cause arbitrary local files to be overwritten (bsc#1259802).
- CVE-2026-44933: scan of the Mandatory signature verification plugin support (bsc#1265223).
- CVE-2026-44941: path traversal via 'keyhint' (bsc#1267426).
- CVE-2026-44942: .repo files can have an optional path which can lead to path traversal attacks (bsc#1267874).
- CVE-2026-48863: Fix buffer overflow when parsing EdDSA signature (bsc#1266039).
Changes in libzypp:
Updated to version 17.38.13 (35):
- A .repo files 'path=' entry must not refer to a location outside the repo (bsc#1267874, CVE-2026-44942) A 'path=' entry may solely denote a sub-directory of the baseurl where the metadata are located. A relative path trying to access data outside the baseurl is reported and sanitized.
- Fix potential crash on malformed or malicious repository metadata (fixes #740)
- Repo metadata: discard entries referring to a location outside the repo (bsc#1259802, CVE-2026-25707) Mirroring those data locally would refer to a location outside the repo's local cache directory. Those data entries are reported and discarded.
- zypp.conf: Allow [env] section to add environment variables. This feature is designed to enable environment-specific settings or debugging options over an extended period. See zypp.conf(5).
- Prevent configured scripts from escaping the sigcheck directory (bsc#1265223, CVE-2026-44933)
- StringV: guard hasPrefix/hasPrefixCI against reading past the view end (fixes #735)
- Mandatory signature verification plugin support (PED#11922)
- Fix purge-kernel -rc kernel handling (bsc#1239718)
- Explicitly_set_pool_DISTTYPE_RPM (fixes #726)
- Check for trusted key updates when updating the general keyring (bsc#1259706)
- Support multiple MirroredOrigin authorities (bsc#1253193)
- Workaround doxygen bug: doxygen/doxygen#12057
- libzypp.spec: Add missing graphviz-gd BuildRequires (boo#1259842)
- Fix preloader not caching packages from arch specific subrepos (bsc#1253740)
- Deprioritize invalid mirrors (fixes openSUSE/zypper#636)
- Fix Product::referencePackage lookup (bsc#1259311) Use a provided autoproduct() as hint to the package name of the release package. It might be that not just multiple versions of the same release package provide the same product version, but also different release packages.
- specfile: on fedora use %{_prefix}/share as zyppconfdir if %{_distconfdir} is undefined (fixes #693) This will set '-DZYPPCONFDIR=%{zyppconfdir}' for cmake.
- Fall back to a writable location when precaching packages without root (bsc#1247948)
- Prepare a legacy /etc/zypp/zypp.conf to be installed on old distros. See the ZYPP.CONF(5) man page for details.
- Fix runtime check for broken rpm --runposttrans (bsc#1257068)
- Avoid libcurl-mini4 when building as it does not support ftp protocol.
- Translation: updated .pot file.
- zypp.conf: follow the UAPI configuration file specification (PED-14658) In short terms it means we will no longer ship an /etc/zypp/zypp.conf, but store our own defaults in /usr/etc/zypp/zypp.conf. The systems administrator may choose to keep a full copy in /etc/zypp/zypp.conf ignoring our config file settings completely, or - the preferred way - to overwrite specific settings via /etc/zypp/zypp.conf.d/*.conf overlay files. See the ZYPP.CONF(5) man page for details.
- cmake: correctly detect rpm6 (fixes #689)
- Use 'zypp.tmp' as temp directory component to ease setting up SELinux policies (bsc#1249435)
- zyppng: Update Provider to current MediaCurl2 download approach, drop Metalink ( fixes #682 )
Changes in libsolv: …
- Record
SUSE-SU-2026:2590-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:2674-1 No score
Security update for libsolv, libzypp, zypper
This update for libsolv, libzypp, zypper fixes the following issues
- CVE-2026-9149: Heap buffer overflow in libsolv repo_add_solv via negative maxsize from crafted .solv file (bsc#1265935).
- CVE-2026-9150: Stack-based buffer overflow in libsolv's Debian metadata parser when handling SHA384/SHA512 checksums (bsc#1265938).
- CVE-2026-25707: Handcrafted repo metadata may cause arbitrary local files to be overwritten (bsc#1259802).
- CVE-2026-44933: scan of the Mandatory signature verification plugin support (bsc#1265223).
- CVE-2026-44941: path traversal via 'keyhint' (bsc#1267426).
- CVE-2026-44942: .repo files can have an optional path which can lead to path traversal attacks (bsc#1267874).
- CVE-2026-48863: Fix buffer overflow when parsing EdDSA signature (bsc#1266039).
Changes in libzypp:
Updated to version 17.38.13 (35):
- A .repo files 'path=' entry must not refer to a location outside the repo (bsc#1267874, CVE-2026-44942) A 'path=' entry may solely denote a sub-directory of the baseurl where the metadata are located. A relative path trying to access data outside the baseurl is reported and sanitized.
- Fix potential crash on malformed or malicious repository metadata (fixes #740)
- Repo metadata: discard entries referring to a location outside the repo (bsc#1259802, CVE-2026-25707) Mirroring those data locally would refer to a location outside the repo's local cache directory. Those data entries are reported and discarded.
- zypp.conf: Allow [env] section to add environment variables. This feature is designed to enable environment-specific settings or debugging options over an extended period. See zypp.conf(5).
- Prevent configured scripts from escaping the sigcheck directory (bsc#1265223, CVE-2026-44933)
- StringV: guard hasPrefix/hasPrefixCI against reading past the view end (fixes #735)
- Mandatory signature verification plugin support (PED#11922)
- Fix purge-kernel -rc kernel handling (bsc#1239718)
- Explicitly_set_pool_DISTTYPE_RPM (fixes #726)
- Check for trusted key updates when updating the general keyring (bsc#1259706)
- Support multiple MirroredOrigin authorities (bsc#1253193)
- Workaround doxygen bug: doxygen/doxygen#12057
- libzypp.spec: Add missing graphviz-gd BuildRequires (boo#1259842)
- Fix preloader not caching packages from arch specific subrepos (bsc#1253740)
- Deprioritize invalid mirrors (fixes openSUSE/zypper#636)
- Fix Product::referencePackage lookup (bsc#1259311) Use a provided autoproduct() as hint to the package name of the release package. It might be that not just multiple versions of the same release package provide the same product version, but also different release packages.
- specfile: on fedora use %{_prefix}/share as zyppconfdir if %{_distconfdir} is undefined (fixes #693) This will set '-DZYPPCONFDIR=%{zyppconfdir}' for cmake.
- Fall back to a writable location when precaching packages without root (bsc#1247948)
- Prepare a legacy /etc/zypp/zypp.conf to be installed on old distros. See the ZYPP.CONF(5) man page for details.
- Fix runtime check for broken rpm --runposttrans (bsc#1257068)
- Avoid libcurl-mini4 when building as it does not support ftp protocol.
- Translation: updated .pot file.
- zypp.conf: follow the UAPI configuration file specification (PED-14658) In short terms it means we will no longer ship an /etc/zypp/zypp.conf, but store our own defaults in /usr/etc/zypp/zypp.conf. The systems administrator may choose to keep a full copy in /etc/zypp/zypp.conf ignoring our config file settings completely, or - the preferred way - to overwrite specific settings via /etc/zypp/zypp.conf.d/*.conf overlay files. See the ZYPP.CONF(5) man page for details.
- cmake: correctly detect rpm6 (fixes #689)
- Use 'zypp.tmp' as temp directory component to ease setting up SELinux policies (bsc#1249435)
- zyppng: Update Provider to current MediaCurl2 download approach, drop Metalink ( fixes #682 )
Changes in libsolv: …
- Record
SUSE-SU-2026:2674-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
libzyppDebian:13 |
All versions, plus listed versions 17.36.7-117.37.16-117.37.17-117.37.18-117.38.1-1 Show 15 moreShow less17.38.11-117.38.12-117.38.13-117.38.13-1+sparc6417.38.14-117.38.15-117.38.16-117.38.2-117.38.3-117.38.4-117.38.5-117.38.6-117.38.7-117.38.8-117.38.9-1 |
None known |
libzyppDebian:14 |
before 17.38.12-1, plus listed versions 17.36.7-117.37.16-117.37.17-117.37.18-117.38.1-1 Show 9 moreShow less17.38.11-117.38.2-117.38.3-117.38.4-117.38.5-117.38.6-117.38.7-117.38.8-117.38.9-1 |
17.38.12-1 |
libzyppSUSE:Linux Micro 6.0 |
before 17.38.12-1.1 | 17.38.12-1.1 |
libzyppSUSE:Linux Micro 6.1 From an advisory covering 2 CVEs |
before 17.38.13-slfo.1.1_1.1 | 17.38.13-slfo.1.1_1.1 |
libsolvSUSE:Linux Enterprise Server 16.0 From an advisory covering 7 CVEs |
before 0.7.39-160000.1.1 | 0.7.39-160000.1.1 |
libzyppSUSE:Linux Enterprise Server 16.0 From an advisory covering 7 CVEs |
before 17.38.13-160000.1.1 | 17.38.13-160000.1.1 |
zypperSUSE:Linux Enterprise Server 16.0 From an advisory covering 7 CVEs |
before 1.14.98-160000.1.1 | 1.14.98-160000.1.1 |
libsolvSUSE:Linux Enterprise Server for SAP applications 16.0 From an advisory covering 7 CVEs |
before 0.7.39-160000.1.1 | 0.7.39-160000.1.1 |
libzyppSUSE:Linux Enterprise Server for SAP applications 16.0 From an advisory covering 7 CVEs |
before 17.38.13-160000.1.1 | 17.38.13-160000.1.1 |
zypperSUSE:Linux Enterprise Server for SAP applications 16.0 From an advisory covering 7 CVEs |
before 1.14.98-160000.1.1 | 1.14.98-160000.1.1 |
Show 58 moreShow less
| Package | Affected | Fixed |
|---|---|---|
libsolvSUSE:Linux Micro 6.2 From an advisory covering 7 CVEs |
before 0.7.39-160000.1.1 | 0.7.39-160000.1.1 |
libzyppSUSE:Linux Micro 6.2 From an advisory covering 7 CVEs |
before 17.38.13-160000.1.1 | 17.38.13-160000.1.1 |
zypperSUSE:Linux Micro 6.2 From an advisory covering 7 CVEs |
before 1.14.98-160000.1.1 | 1.14.98-160000.1.1 |
libsolvSUSE:Linux Enterprise Module for Basesystem 15 SP7 From an advisory covering 7 CVEs |
before 0.7.39-150700.11.10.1 | 0.7.39-150700.11.10.1 |
libzyppSUSE:Linux Enterprise Module for Basesystem 15 SP7 From an advisory covering 7 CVEs |
before 17.38.13-150700.6.13.1 | 17.38.13-150700.6.13.1 |
zypperSUSE:Linux Enterprise Module for Basesystem 15 SP7 From an advisory covering 7 CVEs |
before 1.14.98-150700.13.6.1 | 1.14.98-150700.13.6.1 |
libsolvSUSE:Linux Enterprise Module for Development Tools 15 SP7 From an advisory covering 7 CVEs |
before 0.7.39-150700.11.10.1 | 0.7.39-150700.11.10.1 |
libsolvSUSE:Linux Enterprise Module for Python 3 15 SP7 From an advisory covering 7 CVEs |
before 0.7.39-150700.11.10.1 | 0.7.39-150700.11.10.1 |
libsolvSUSE:Linux Enterprise Installer Updates 15 SP5 From an advisory covering 7 CVEs |
before 0.7.39-150500.6.17.1 | 0.7.39-150500.6.17.1 |
libzyppSUSE:Linux Enterprise Installer Updates 15 SP5 From an advisory covering 7 CVEs |
before 17.38.13-150500.6.74.1 | 17.38.13-150500.6.74.1 |
libsolvSUSE:Linux Enterprise Micro 5.5 From an advisory covering 7 CVEs |
before 0.7.39-150500.6.17.1 | 0.7.39-150500.6.17.1 |
libzyppSUSE:Linux Enterprise Micro 5.5 From an advisory covering 7 CVEs |
before 17.38.13-150500.6.74.1 | 17.38.13-150500.6.74.1 |
zypperSUSE:Linux Enterprise Micro 5.5 From an advisory covering 7 CVEs |
before 1.14.98-150500.6.45.1 | 1.14.98-150500.6.45.1 |
libsolvSUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS From an advisory covering 7 CVEs |
before 0.7.39-150500.6.17.1 | 0.7.39-150500.6.17.1 |
libzyppSUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS From an advisory covering 7 CVEs |
before 17.38.13-150500.6.74.1 | 17.38.13-150500.6.74.1 |
zypperSUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS From an advisory covering 7 CVEs |
before 1.14.98-150500.6.45.1 | 1.14.98-150500.6.45.1 |
libsolvSUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS From an advisory covering 7 CVEs |
before 0.7.39-150500.6.17.1 | 0.7.39-150500.6.17.1 |
libzyppSUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS From an advisory covering 7 CVEs |
before 17.38.13-150500.6.74.1 | 17.38.13-150500.6.74.1 |
zypperSUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS From an advisory covering 7 CVEs |
before 1.14.98-150500.6.45.1 | 1.14.98-150500.6.45.1 |
libsolvSUSE:Linux Enterprise Server 15 SP5-LTSS From an advisory covering 7 CVEs |
before 0.7.39-150500.6.17.1 | 0.7.39-150500.6.17.1 |
libzyppSUSE:Linux Enterprise Server 15 SP5-LTSS From an advisory covering 7 CVEs |
before 17.38.13-150500.6.74.1 | 17.38.13-150500.6.74.1 |
zypperSUSE:Linux Enterprise Server 15 SP5-LTSS From an advisory covering 7 CVEs |
before 1.14.98-150500.6.45.1 | 1.14.98-150500.6.45.1 |
libsolvSUSE:Linux Enterprise Server for SAP Applications 15 SP5 From an advisory covering 7 CVEs |
before 0.7.39-150500.6.17.1 | 0.7.39-150500.6.17.1 |
libzyppSUSE:Linux Enterprise Server for SAP Applications 15 SP5 From an advisory covering 7 CVEs |
before 17.38.13-150500.6.74.1 | 17.38.13-150500.6.74.1 |
zypperSUSE:Linux Enterprise Server for SAP Applications 15 SP5 From an advisory covering 7 CVEs |
before 1.14.98-150500.6.45.1 | 1.14.98-150500.6.45.1 |
libsolvSUSE:Linux Enterprise Installer Updates 15 SP6 From an advisory covering 7 CVEs |
before 0.7.39-150600.8.24.1 | 0.7.39-150600.8.24.1 |
libzyppSUSE:Linux Enterprise Installer Updates 15 SP6 From an advisory covering 7 CVEs |
before 17.38.13-150600.3.92.1 | 17.38.13-150600.3.92.1 |
libsolvSUSE:Linux Enterprise Server 15 SP6-LTSS From an advisory covering 7 CVEs |
before 0.7.39-150600.8.24.1 | 0.7.39-150600.8.24.1 |
libzyppSUSE:Linux Enterprise Server 15 SP6-LTSS From an advisory covering 7 CVEs |
before 17.38.13-150600.3.92.1 | 17.38.13-150600.3.92.1 |
zypperSUSE:Linux Enterprise Server 15 SP6-LTSS From an advisory covering 7 CVEs |
before 1.14.98-150600.10.55.1 | 1.14.98-150600.10.55.1 |
libsolvSUSE:Linux Enterprise Installer Updates 15 SP4 From an advisory covering 7 CVEs |
before 0.7.39-150400.3.46.1 | 0.7.39-150400.3.46.1 |
libzyppSUSE:Linux Enterprise Installer Updates 15 SP4 From an advisory covering 7 CVEs |
before 17.38.13-150400.3.158.1 | 17.38.13-150400.3.158.1 |
libsolvSUSE:Linux Enterprise Micro 5.3 From an advisory covering 7 CVEs |
before 0.7.39-150400.3.46.1 | 0.7.39-150400.3.46.1 |
libzyppSUSE:Linux Enterprise Micro 5.3 From an advisory covering 7 CVEs |
before 17.38.13-150400.3.158.1 | 17.38.13-150400.3.158.1 |
zypperSUSE:Linux Enterprise Micro 5.3 From an advisory covering 7 CVEs |
before 1.14.98-150400.3.104.1 | 1.14.98-150400.3.104.1 |
libsolvSUSE:Linux Enterprise Micro 5.4 From an advisory covering 7 CVEs |
before 0.7.39-150400.3.46.1 | 0.7.39-150400.3.46.1 |
libzyppSUSE:Linux Enterprise Micro 5.4 From an advisory covering 7 CVEs |
before 17.38.13-150400.3.158.1 | 17.38.13-150400.3.158.1 |
zypperSUSE:Linux Enterprise Micro 5.4 From an advisory covering 7 CVEs |
before 1.14.98-150400.3.104.1 | 1.14.98-150400.3.104.1 |
libsolvSUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS From an advisory covering 7 CVEs |
before 0.7.39-150400.3.46.1 | 0.7.39-150400.3.46.1 |
libzyppSUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS From an advisory covering 7 CVEs |
before 17.38.13-150400.3.158.1 | 17.38.13-150400.3.158.1 |
zypperSUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS From an advisory covering 7 CVEs |
before 1.14.98-150400.3.104.1 | 1.14.98-150400.3.104.1 |
libsolvSUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS From an advisory covering 7 CVEs |
before 0.7.39-150400.3.46.1 | 0.7.39-150400.3.46.1 |
libzyppSUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS From an advisory covering 7 CVEs |
before 17.38.13-150400.3.158.1 | 17.38.13-150400.3.158.1 |
zypperSUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS From an advisory covering 7 CVEs |
before 1.14.98-150400.3.104.1 | 1.14.98-150400.3.104.1 |
libsolvSUSE:Linux Enterprise Server 15 SP4-LTSS From an advisory covering 7 CVEs |
before 0.7.39-150400.3.46.1 | 0.7.39-150400.3.46.1 |
libzyppSUSE:Linux Enterprise Server 15 SP4-LTSS From an advisory covering 7 CVEs |
before 17.38.13-150400.3.158.1 | 17.38.13-150400.3.158.1 |
zypperSUSE:Linux Enterprise Server 15 SP4-LTSS From an advisory covering 7 CVEs |
before 1.14.98-150400.3.104.1 | 1.14.98-150400.3.104.1 |
libzyppUbuntu:16.04:LTS |
All versions, plus listed versions 15.3.0-1build1 |
None known |
libzyppUbuntu:20.04:LTS |
All versions, plus listed versions 17.7.0-1 |
None known |
libzyppUbuntu:22.04:LTS |
All versions, plus listed versions 17.25.7-217.25.7-2ubuntu117.25.7-2.117.25.7-2.1ubuntu0.22.04.1 |
None known |
libzyppUbuntu:24.04:LTS |
All versions, plus listed versions 17.31.20-1build117.31.23-117.31.25-117.31.27-117.31.28-1 Show 5 moreShow less17.31.29-117.31.31-117.31.31-1build317.31.31-1build417.31.31-1build5 |
None known |
libzyppUbuntu:25.10 |
All versions, plus listed versions 17.36.5-117.36.7-117.36.7-1build117.36.7-1build4 |
None known |
libzyppUbuntu:26.10 |
All versions, plus listed versions 17.38.2-1build117.38.9-117.38.11-117.38.12-117.38.13-117.38.14-117.38.14-1build217.38.15-1 |
None known |
libzyppUbuntu:26.04:LTS |
All versions, plus listed versions 17.36.7-1build417.37.17-117.37.18-117.38.1-117.38.2-117.38.2-1build1 |
None known |
libzyppopenSUSE:Tumbleweed From an advisory covering 2 CVEs |
before 17.38.13-1.1 | 17.38.13-1.1 |
libsolvopenSUSE:Leap 16.0 From an advisory covering 7 CVEs |
before 0.7.39-160000.1.1 | 0.7.39-160000.1.1 |
libzyppopenSUSE:Leap 16.0 From an advisory covering 7 CVEs |
before 17.38.13-160000.1.1 | 17.38.13-160000.1.1 |
zypperopenSUSE:Leap 16.0 From an advisory covering 7 CVEs |
before 1.14.98-160000.1.1 | 1.14.98-160000.1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-44941 is a high vulnerability (CVSS 8.4) in Opensuse Libzypp, published June 8, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.53%, the 45th percentile. Fixed in libzypp 17.38.12-1.
References
bugzilla.suse.com/show_bug.cgi?id=1267426
github.com/openSUSE/libzypp/commit/294b1bad442d089ca671c5c03adc8031e3b29e04
nvd.nist.gov/vuln/detail/CVE-2026-44941
github.com/advisories/GHSA-wp9x-wjhc-28mv
github.com/openSUSE/libzypp
github.com/CVEProject/cvelistV5/tree/main/cves/2026/44xxx/CVE-2026-44941.json
Show 39 moreShow less
security-tracker.debian.org/tracker/CVE-2026-44941
suse.com/support/update/announcement/2026/suse-su-202622062-1
bugzilla.suse.com/1267426
suse.com/security/cve/CVE-2026-44941
suse.com/support/update/announcement/2026/suse-su-202622073-1
bugzilla.suse.com/1267874
suse.com/security/cve/CVE-2026-44942
suse.com/support/update/announcement/2026/suse-su-202622172-1
bugzilla.suse.com/1239718
bugzilla.suse.com/1246504
bugzilla.suse.com/1253193
bugzilla.suse.com/1259706
bugzilla.suse.com/1259802
bugzilla.suse.com/1259842
bugzilla.suse.com/1265223
bugzilla.suse.com/1265935
bugzilla.suse.com/1265938
bugzilla.suse.com/1266039
suse.com/security/cve/CVE-2026-25707
suse.com/security/cve/CVE-2026-44933
suse.com/security/cve/CVE-2026-48863
suse.com/security/cve/CVE-2026-9149
suse.com/security/cve/CVE-2026-9150
suse.com/support/update/announcement/2026/suse-su-202622221-1
suse.com/support/update/announcement/2026/suse-su-20262531-1
bugzilla.suse.com/1158038
bugzilla.suse.com/1247948
bugzilla.suse.com/1249435
bugzilla.suse.com/1252744
bugzilla.suse.com/1253740
bugzilla.suse.com/1257068
bugzilla.suse.com/1257882
bugzilla.suse.com/1258193
bugzilla.suse.com/1259311
suse.com/support/update/announcement/2026/suse-su-20262575-1
suse.com/support/update/announcement/2026/suse-su-20262590-1
suse.com/support/update/announcement/2026/suse-su-20262674-1
ubuntu.com/security/CVE-2026-44941
cve.org/CVERecord?id=CVE-2026-44941
Left out here: the rest of 4 source descriptions. The JSON record has them.