Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix: Use unsigned long for compression lengths #849

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

mattmundell
Copy link
Contributor

@mattmundell mattmundell commented Nov 1, 2024

What

Pass unsigned long instead of size_t to the compression functions like gvm_compress.

Why

It's the expected type. On 32bit architectures like i386, using size_t leads to compile errors from -Werror=incompatible-pointer-types.

Reproduce

  1. Setup Debian 12 i386 in VM
  2. cd $BUILD && cmake $SOURCE -D CMAKE_C_FLAGS=-m32 -D CMAKE_C_COMPILER=gcc -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTS=ON
  3. cd $BUILD && make -B VERBOSE=1
  4. cd $BUILD && make -B VERBOSE=1 tests

Should see errors like:

path/to/compressutils_tests.c:88:63: error: passing argument 3 of ‘gvm_compress_gzipheader’ from incompatible pointer type [-Werror=incompatible-pointer-types]
   88 |     gvm_compress_gzipheader (testdata, strlen (testdata) + 1, &compressed_len);
      |                                                               ^~~~~~~~~~~~~~~
      |                                                               |
      |                                                               size_t * {aka unsigned int *}

References

Closes #846.

Prevents incompatible-pointer-types errors on 32bit architectures.
Copy link

github-actions bot commented Nov 1, 2024

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Snapshot Warnings

⚠️: No snapshots were found for the head SHA 968abdd.
Ensure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice.

OpenSSF Scorecard

PackageVersionScoreDetails

Scanned Files

Copy link

github-actions bot commented Nov 1, 2024

🔍 Vulnerabilities of harbor-os.greenbone.net/community/gvm-libs:849-merge-amd64

📦 Image Reference harbor-os.greenbone.net/community/gvm-libs:849-merge-amd64
digestsha256:979ff32cffc040b6e8c000bd9ada24788af0f802919474a9e89af1abda3d2294
vulnerabilitiescritical: 0 high: 1 medium: 4 low: 25 unspecified: 1
size76 MB
packages198
📦 Base Image debian:testing-20241016-slim
also known as
  • testing-slim
digestsha256:04d8787dc23c09ca411d79f24c85a1ef71bf0cfbfd715ca37c1f48e1da9c5a96
vulnerabilitiescritical: 0 high: 0 medium: 2 low: 14 unspecified: 1
critical: 0 high: 1 medium: 2 low: 1 libxml2 2.12.7+dfsg+really2.9.14-0.1 (deb)

pkg:deb/debian/[email protected]%2Bdfsg%2Breally2.9.14-0.1?os_distro=trixie&os_name=debian&os_version=unstable

high : CVE--2024--25062

Affected range>=2.12.7+dfsg+really2.9.14-0.1
Fixed versionNot Fixed
EPSS Score0.05%
EPSS Percentile18th percentile
Description

An issue was discovered in libxml2 before 2.11.7 and 2.12.x before 2.12.5. When using the XML Reader interface with DTD validation and XInclude expansion enabled, processing crafted XML documents can lead to an xmlValidatePopElement use-after-free.

medium : CVE--2023--45322

Affected range>=2.12.7+dfsg+really2.9.14-0.1
Fixed versionNot Fixed
EPSS Score0.07%
EPSS Percentile32nd percentile
Description

libxml2 through 2.11.5 has a use-after-free that can only occur after a certain memory allocation fails. This occurs in xmlUnlinkNode in tree.c. NOTE: the vendor's position is "I don't think these issues are critical enough to warrant a CVE ID ... because an attacker typically can't control when memory allocations fail."

medium : CVE--2023--39615

Affected range>=2.12.7+dfsg+really2.9.14-0.1
Fixed versionNot Fixed
EPSS Score0.06%
EPSS Percentile28th percentile
Description

Xmlsoft Libxml2 v2.11.0 was discovered to contain an out-of-bounds read via the xmlSAX2StartElement() function at /libxml2/SAX2.c. This vulnerability allows attackers to cause a Denial of Service (DoS) via supplying a crafted XML file. NOTE: the vendor's position is that the product does not support the legacy SAX1 interface with custom callbacks; there is a crash even without crafted input.

low : CVE--2024--34459

Affected range>=2.12.7+dfsg+really2.9.14-0.1
Fixed versionNot Fixed
EPSS Score0.04%
EPSS Percentile11th percentile
Description

An issue was discovered in xmllint (from libxml2) before 2.11.8 and 2.12.x before 2.12.7. Formatting error messages with xmllint --htmlout can result in a buffer over-read in xmlHTMLPrintFileContext in xmllint.c.

critical: 0 high: 0 medium: 1 low: 1 libgcrypt20 1.11.0-6 (deb)

pkg:deb/debian/[email protected]?os_distro=trixie&os_name=debian&os_version=unstable

medium : CVE--2024--2236

Affected range>=1.11.0-6
Fixed versionNot Fixed
EPSS Score0.04%
EPSS Percentile10th percentile
Description

A timing-based side-channel flaw was found in libgcrypt's RSA implementation. This issue may allow a remote attacker to initiate a Bleichenbacher-style attack, which can lead to the decryption of RSA ciphertexts.

low : CVE--2018--6829

Affected range>=1.11.0-6
Fixed versionNot Fixed
EPSS Score0.19%
EPSS Percentile58th percentile
Description

cipher/elgamal.c in Libgcrypt through 1.8.2, when used to encrypt messages directly, improperly encodes plaintexts, which allows attackers to obtain sensitive information by reading ciphertext data (i.e., it does not have semantic security in face of a ciphertext-only attack). The Decisional Diffie-Hellman (DDH) assumption does not hold for Libgcrypt's ElGamal implementation.

critical: 0 high: 0 medium: 1 low: 0 pam 1.5.3-7 (deb)

pkg:deb/debian/[email protected]?os_distro=trixie&os_name=debian&os_version=unstable

medium : CVE--2024--10041

Affected range>=1.5.3-7
Fixed versionNot Fixed
EPSS Score0.04%
EPSS Percentile10th percentile
Description

A vulnerability was found in PAM. The secret information is stored in memory, where the attacker can trigger the victim program to execute by sending characters to its standard input (stdin). As this occurs, the attacker can train the branch predictor to execute an ROP chain speculatively. This flaw could result in leaked passwords, such as those found in /etc/shadow while performing authentications.

critical: 0 high: 0 medium: 0 low: 7 glibc 2.40-3 (deb)

pkg:deb/debian/[email protected]?os_distro=trixie&os_name=debian&os_version=unstable

low : CVE--2019--9192

Affected range>=2.40-3
Fixed versionNot Fixed
EPSS Score0.11%
EPSS Percentile45th percentile
Description

In the GNU C Library (aka glibc or libc6) through 2.29, check_dst_limits_calc_pos_1 in posix/regexec.c has Uncontrolled Recursion, as demonstrated by '(|)(\1\1)*' in grep, a different issue than CVE-2018-20796. NOTE: the software maintainer disputes that this is a vulnerability because the behavior occurs only with a crafted pattern

low : CVE--2019--1010025

Affected range>=2.40-3
Fixed versionNot Fixed
EPSS Score0.35%
EPSS Percentile72nd percentile
Description

GNU Libc current is affected by: Mitigation bypass. The impact is: Attacker may guess the heap addresses of pthread_created thread. The component is: glibc. NOTE: the vendor's position is "ASLR bypass itself is not a vulnerability.

low : CVE--2019--1010024

Affected range>=2.40-3
Fixed versionNot Fixed
EPSS Score3.02%
EPSS Percentile91st percentile
Description

GNU Libc current is affected by: Mitigation bypass. The impact is: Attacker may bypass ASLR using cache of thread stack and heap. The component is: glibc. NOTE: Upstream comments indicate "this is being treated as a non-security bug and no real threat.

low : CVE--2019--1010023

Affected range>=2.40-3
Fixed versionNot Fixed
EPSS Score1.20%
EPSS Percentile86th percentile
Description

GNU Libc current is affected by: Re-mapping current loaded library with malicious ELF file. The impact is: In worst case attacker may evaluate privileges. The component is: libld. The attack vector is: Attacker sends 2 ELF files to victim and asks to run ldd on it. ldd execute code. NOTE: Upstream comments indicate "this is being treated as a non-security bug and no real threat.

low : CVE--2019--1010022

Affected range>=2.40-3
Fixed versionNot Fixed
EPSS Score0.41%
EPSS Percentile74th percentile
Description

GNU Libc current is affected by: Mitigation bypass. The impact is: Attacker may bypass stack guard protection. The component is: nptl. The attack vector is: Exploit stack buffer overflow vulnerability and use this bypass vulnerability to bypass stack guard. NOTE: Upstream comments indicate "this is being treated as a non-security bug and no real threat.

low : CVE--2018--20796

Affected range>=2.40-3
Fixed versionNot Fixed
EPSS Score0.44%
EPSS Percentile75th percentile
Description

In the GNU C Library (aka glibc or libc6) through 2.29, check_dst_limits_calc_pos_1 in posix/regexec.c has Uncontrolled Recursion, as demonstrated by '(\227|)(\1\1|t1|\\2537)+' in grep.

low : CVE--2010--4756

Affected range>=2.40-3
Fixed versionNot Fixed
EPSS Score0.82%
EPSS Percentile82nd percentile
Description

The glob implementation in the GNU C Library (aka glibc or libc6) allows remote authenticated users to cause a denial of service (CPU and memory consumption) via crafted glob expressions that do not match any pathnames, as demonstrated by glob expressions in STAT commands to an FTP daemon, a different vulnerability than CVE-2010-2632.

critical: 0 high: 0 medium: 0 low: 4 openldap 2.5.18+dfsg-3 (deb)

pkg:deb/debian/[email protected]%2Bdfsg-3?os_distro=trixie&os_name=debian&os_version=unstable

low : CVE--2020--15719

Affected range>=2.5.18+dfsg-3
Fixed versionNot Fixed
EPSS Score0.16%
EPSS Percentile54th percentile
Description

libldap in certain third-party OpenLDAP packages has a certificate-validation flaw when the third-party package is asserting RFC6125 support. It considers CN even when there is a non-matching subjectAltName (SAN). This is fixed in, for example, openldap-2.4.46-10.el8 in Red Hat Enterprise Linux.

low : CVE--2017--17740

Affected range>=2.5.18+dfsg-3
Fixed versionNot Fixed
EPSS Score0.41%
EPSS Percentile74th percentile
Description

contrib/slapd-modules/nops/nops.c in OpenLDAP through 2.4.45, when both the nops module and the memberof overlay are enabled, attempts to free a buffer that was allocated on the stack, which allows remote attackers to cause a denial of service (slapd crash) via a member MODDN operation.

low : CVE--2017--14159

Affected range>=2.5.18+dfsg-3
Fixed versionNot Fixed
EPSS Score0.04%
EPSS Percentile11th percentile
Description

slapd in OpenLDAP 2.4.45 and earlier creates a PID file after dropping privileges to a non-root account, which might allow local users to kill arbitrary processes by leveraging access to this non-root account for PID file modification before a root script executes a "kill cat /pathname" command, as demonstrated by openldap-initscript.

low : CVE--2015--3276

Affected range>=2.5.18+dfsg-3
Fixed versionNot Fixed
EPSS Score0.42%
EPSS Percentile75th percentile
Description

The nss_parse_ciphers function in libraries/libldap/tls_m.c in OpenLDAP does not properly parse OpenSSL-style multi-keyword mode cipher strings, which might cause a weaker than intended cipher to be used and allow remote attackers to have unspecified impact via unknown vectors.

critical: 0 high: 0 medium: 0 low: 4 krb5 1.21.3-3 (deb)

pkg:deb/debian/[email protected]?os_distro=trixie&os_name=debian&os_version=unstable

low : CVE--2024--26462

Affected range>=1.21.3-3
Fixed versionNot Fixed
EPSS Score0.04%
EPSS Percentile10th percentile
Description

Kerberos 5 (aka krb5) 1.21.2 contains a memory leak vulnerability in /krb5/src/kdc/ndr.c.

low : CVE--2024--26461

Affected range>=1.21.3-3
Fixed versionNot Fixed
EPSS Score0.04%
EPSS Percentile10th percentile
Description

Kerberos 5 (aka krb5) 1.21.2 contains a memory leak vulnerability in /krb5/src/lib/gssapi/krb5/k5sealv3.c.

low : CVE--2024--26458

Affected range>=1.21.3-3
Fixed versionNot Fixed
EPSS Score0.04%
EPSS Percentile10th percentile
Description

Kerberos 5 (aka krb5) 1.21.2 contains a memory leak in /krb5/src/lib/rpc/pmap_rmt.c.

low : CVE--2018--5709

Affected range>=1.21.3-3
Fixed versionNot Fixed
EPSS Score0.10%
EPSS Percentile42nd percentile
Description

An issue was discovered in MIT Kerberos 5 (aka krb5) through 1.16. There is a variable "dbentry->n_key_data" in kadmin/dbutil/dump.c that can store 16-bit data but unknowingly the developer has assigned a "u4" variable to it, which is for 32-bit data. An attacker can use this vulnerability to affect other artifacts of the database as we know that a Kerberos database dump file contains trusted data.

critical: 0 high: 0 medium: 0 low: 1 unspecified: 1openssl 3.3.2-1 (deb)

pkg:deb/debian/[email protected]?os_distro=trixie&os_name=debian&os_version=unstable

low : CVE--2010--0928

Affected range>=3.2.2-1
Fixed versionNot Fixed
EPSS Score0.07%
EPSS Percentile30th percentile
Description

OpenSSL 0.9.8i on the Gaisler Research LEON3 SoC on the Xilinx Virtex-II Pro FPGA uses a Fixed Width Exponentiation (FWE) algorithm for certain signature calculations, and does not verify the signature before providing it to a caller, which makes it easier for physically proximate attackers to determine the private key via a modified supply voltage for the microprocessor, related to a "fault-based attack."

unspecified : CVE--2024--9143

Affected range<3.3.2-2
Fixed version3.3.2-2
EPSS Score0.04%
EPSS Percentile11th percentile
Description

Issue summary: Use of the low-level GF(2^m) elliptic curve APIs with untrusted explicit values for the field polynomial can lead to out-of-bounds memory reads or writes. Impact summary: Out of bound memory writes can lead to an application crash or even a possibility of a remote code execution, however, in all the protocols involving Elliptic Curve Cryptography that we're aware of, either only "named curves" are supported, or, if explicit curve parameters are supported, they specify an X9.62 encoding of binary (GF(2^m)) curves that can't represent problematic input values. Thus the likelihood of existence of a vulnerable application is low. In particular, the X9.62 encoding is used for ECC keys in X.509 certificates, so problematic inputs cannot occur in the context of processing X.509 certificates. Any problematic use-cases would have to be using an "exotic" curve encoding. The affected APIs include: EC_GROUP_new_curve_GF2m(), EC_GROUP_new_from_params(), and various supporting BN_GF2m_*() functions. Applications working with "exotic" explicit binary (GF(2^m)) curve parameters, that make it possible to represent invalid field polynomials with a zero constant term, via the above or similar APIs, may terminate abruptly as a result of reading or writing outside of array bounds. Remote code execution cannot easily be ruled out. The FIPS modules in 3.3, 3.2, 3.1 and 3.0 are not affected by this issue.

critical: 0 high: 0 medium: 0 low: 1 shadow 1:4.16.0-4 (deb)

pkg:deb/debian/shadow@1:4.16.0-4?os_distro=trixie&os_name=debian&os_version=unstable

low : CVE--2007--5686

Affected range>=1:4.16.0-4
Fixed versionNot Fixed
EPSS Score0.16%
EPSS Percentile53rd percentile
Description

initscripts in rPath Linux 1 sets insecure permissions for the /var/log/btmp file, which allows local users to obtain sensitive information regarding authentication attempts. NOTE: because sshd detects the insecure permissions and does not log certain events, this also prevents sshd from logging failed authentication attempts by remote attackers.

critical: 0 high: 0 medium: 0 low: 1 tar 1.35+dfsg-3 (deb)

pkg:deb/debian/[email protected]%2Bdfsg-3?os_distro=trixie&os_name=debian&os_version=unstable

low : CVE--2005--2541

Affected range>=1.35+dfsg-3
Fixed versionNot Fixed
EPSS Score0.69%
EPSS Percentile81st percentile
Description

Tar 1.15.1 does not properly warn the user when extracting setuid or setgid files, which may allow local users or remote attackers to gain privileges.

critical: 0 high: 0 medium: 0 low: 1 coreutils 9.4-3.1 (deb)

pkg:deb/debian/[email protected]?os_distro=trixie&os_name=debian&os_version=unstable

low : CVE--2024--0684

Affected range<9.5-1
Fixed version9.5-1
EPSS Score0.04%
EPSS Percentile5th percentile
Description

A flaw was found in the GNU coreutils "split" program. A heap overflow with user-controlled data of multiple hundred bytes in length could occur in the line_bytes_split() function, potentially leading to an application crash and denial of service.

critical: 0 high: 0 medium: 0 low: 1 gnutls28 3.8.6-2 (deb)

pkg:deb/debian/[email protected]?os_distro=trixie&os_name=debian&os_version=unstable

low : CVE--2011--3389

Affected range>=3.8.6-2
Fixed versionNot Fixed
EPSS Score0.60%
EPSS Percentile79th percentile
Description

The SSL protocol, as used in certain configurations in Microsoft Windows and Microsoft Internet Explorer, Mozilla Firefox, Google Chrome, Opera, and other products, encrypts data by using CBC mode with chained initialization vectors, which allows man-in-the-middle attackers to obtain plaintext HTTP headers via a blockwise chosen-boundary attack (BCBA) on an HTTPS session, in conjunction with JavaScript code that uses (1) the HTML5 WebSocket API, (2) the Java URLConnection API, or (3) the Silverlight WebClient API, aka a "BEAST" attack.

critical: 0 high: 0 medium: 0 low: 1 util-linux 2.40.2-9 (deb)

pkg:deb/debian/[email protected]?os_distro=trixie&os_name=debian&os_version=unstable

low : CVE--2022--0563

Affected range>=2.40.2-9
Fixed versionNot Fixed
EPSS Score0.05%
EPSS Percentile18th percentile
Description

A flaw was found in the util-linux chfn and chsh utilities when compiled with Readline support. The Readline library uses an "INPUTRC" environment variable to get a path to the library config file. When the library cannot parse the specified file, it prints an error message containing data from the file. This flaw allows an unprivileged user to read root-owned files, potentially leading to privilege escalation. This flaw affects util-linux versions prior to 2.37.4.

critical: 0 high: 0 medium: 0 low: 1 glib2.0 2.82.2-2 (deb)

pkg:deb/debian/[email protected]?os_distro=trixie&os_name=debian&os_version=unstable

low : CVE--2012--0039

Affected range>=2.82.2-2
Fixed versionNot Fixed
EPSS Score0.16%
EPSS Percentile53rd percentile
Description

GLib 2.31.8 and earlier, when the g_str_hash function is used, computes hash values without restricting the ability to trigger hash collisions predictably, which allows context-dependent attackers to cause a denial of service (CPU consumption) via crafted input to an application that maintains a hash table. NOTE: this issue may be disputed by the vendor; the existence of the g_str_hash function is not a vulnerability in the library, because callers of g_hash_table_new and g_hash_table_new_full can specify an arbitrary hash function that is appropriate for the application.

critical: 0 high: 0 medium: 0 low: 1 sqlite3 3.46.1-1 (deb)

pkg:deb/debian/[email protected]?os_distro=trixie&os_name=debian&os_version=unstable

low : CVE--2021--45346

Affected range>=3.46.1-1
Fixed versionNot Fixed
EPSS Score0.22%
EPSS Percentile61st percentile
Description

A Memory Leak vulnerability exists in SQLite Project SQLite3 3.35.1 and 3.37.0 via maliciously crafted SQL Queries (made via editing the Database File), it is possible to query a record, and leak subsequent bytes of memory that extend beyond the record, which could let a malicious user obtain sensitive information. NOTE: The developer disputes this as a vulnerability stating that If you give SQLite a corrupted database file and submit a query against the database, it might read parts of the database that you did not intend or expect.

@mattmundell mattmundell marked this pull request as ready for review November 1, 2024 18:56
@mattmundell mattmundell requested a review from a team as a code owner November 1, 2024 18:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

gvm-libs fails to build on 32 bit architectures
1 participant