Cloudanix VulnDB

CVE-2023-6780

Medium · 5.3

CVSS

5.3

EPSS

2.7%

Published

Jan 31, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A problem in a fundamental system library can make programs that write very long log messages crash or behave unpredictably.

Exploit Available
Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Buffer Overflow
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Integer overflow in __vsyslog_internal leads to incorrect buffer size calculation when syslog or vsyslog receive an extremely long message, resulting in undefined behavior on glibc 2.37 and newer.

Why it matters to the business

Applications relying on standard logging functions may experience crashes or instability when processing unusually long log entries, potentially disrupting operations across systems using the affected library versions.

How an attack unfolds

An attacker crafts an input that triggers syslog or vsyslog with a message exceeding the size that causes integer overflow during buffer allocation, leading to undefined behavior that may be leveraged for denial of service.

How to fix it

Upgrade glibc to a version containing commit ef321e23c20eebc6d6fb4044425c00e6df27b05f; apply the corresponding fixed package versions listed for each distribution (for example 1:1.8.16-1 on Debian 11/12/13 for libpdfbox-java and 2.0.12-1 for libpdfbox2-java, or 1:1.8.16-2 on Ubuntu 18.04/20.04/22.04).

How to confirm the fix worked

Confirm the installed glibc version is newer than 2.37 and includes the referenced commit; test affected logging paths with messages exceeding typical lengths to verify absence of overflow conditions.

Typical attack path

  1. Identify services or applications that invoke syslog/vsyslog with user-controllable or externally sourced strings
  2. Supply an extremely long message to the logging call
  3. Trigger the integer overflow in __vsyslog_internal buffer size computation
  4. Observe resulting undefined behavior such as crashes or memory errors

How to detect it

Review application and system logs for unusual syslog-related crashes or segmentation faults coinciding with large message attempts; correlate with process core dumps or error patterns around logging functions.

What your security team should do

  • Prioritize patching glibc on all affected systems within standard maintenance windows given the public exploit availability
  • Review and update any dependent packages such as pdfbox variants to their listed fixed versions
  • Monitor EPSS trend and reassess if exploit maturity increases

The record

An integer overflow was found in the __vsyslog_internal function of the glibc library. This function is called by the syslog and vsyslog functions. This issue occurs when these functions are called with a very long message, leading to an incorrect calculation of the buffer size to store the message, resulting in undefined behavior. This issue affects glibc 2.37 and newer.

Affected packages

Ecosystem Package Introduced Fixed
Chainguard glibc 0 2.38-r11
Chainguard glibc-dev 0 2.38-r11
Chainguard glibc-iconv 0 2.38-r11
Chainguard glibc-locale-aa 0 2.38-r11
Chainguard glibc-locale-af 0 2.38-r11
Chainguard glibc-locale-agr 0 2.38-r11
Chainguard glibc-locale-ak 0 2.38-r11
Chainguard glibc-locale-am 0 2.38-r11
Chainguard glibc-locale-an 0 2.38-r11
Chainguard glibc-locale-anp 0 2.38-r11
Chainguard glibc-locale-ar 0 2.38-r11
Chainguard glibc-locale-as 0 2.38-r11
Chainguard glibc-locale-ast 0 2.38-r11
Chainguard glibc-locale-ayc 0 2.38-r11
Chainguard glibc-locale-az 0 2.38-r11
Chainguard glibc-locale-be 0 2.38-r11
Chainguard glibc-locale-bem 0 2.38-r11
Chainguard glibc-locale-ber 0 2.38-r11
Chainguard glibc-locale-bg 0 2.38-r11
Chainguard glibc-locale-bhb 0 2.38-r11
Chainguard glibc-locale-bho 0 2.38-r11
Chainguard glibc-locale-bi 0 2.38-r11
Chainguard glibc-locale-bn 0 2.38-r11
Chainguard glibc-locale-bo 0 2.38-r11
Chainguard glibc-locale-br 0 2.38-r11
Chainguard glibc-locale-brx 0 2.38-r11
Chainguard glibc-locale-bs 0 2.38-r11
Chainguard glibc-locale-byn 0 2.38-r11
Chainguard glibc-locale-ca 0 2.38-r11
Chainguard glibc-locale-ce 0 2.38-r11
Chainguard glibc-locale-chr 0 2.38-r11
Chainguard glibc-locale-ckb 0 2.38-r11
Chainguard glibc-locale-cmn 0 2.38-r11
Chainguard glibc-locale-crh 0 2.38-r11
Chainguard glibc-locale-cs 0 2.38-r11
Chainguard glibc-locale-csb 0 2.38-r11
Chainguard glibc-locale-cv 0 2.38-r11
Chainguard glibc-locale-cy 0 2.38-r11
Chainguard glibc-locale-da 0 2.38-r11
Chainguard glibc-locale-de 0 2.38-r11
Chainguard glibc-locale-doi 0 2.38-r11
Chainguard glibc-locale-dsb 0 2.38-r11
Chainguard glibc-locale-dv 0 2.38-r11
Chainguard glibc-locale-dz 0 2.38-r11
Chainguard glibc-locale-el 0 2.38-r11
Chainguard glibc-locale-en 0 2.38-r11
Chainguard glibc-locale-eo 0 2.38-r11
Chainguard glibc-locale-es 0 2.38-r11
Chainguard glibc-locale-et 0 2.38-r11
Chainguard glibc-locale-eu 0 2.38-r11
Chainguard glibc-locale-extra 0 2.38-r11
Chainguard glibc-locale-fa 0 2.38-r11
Chainguard glibc-locale-ff 0 2.38-r11
Chainguard glibc-locale-fi 0 2.38-r11
Chainguard glibc-locale-fil 0 2.38-r11
Chainguard glibc-locale-fo 0 2.38-r11
Chainguard glibc-locale-fr 0 2.38-r11
Chainguard glibc-locale-fur 0 2.38-r11
Chainguard glibc-locale-fy 0 2.38-r11
Chainguard glibc-locale-ga 0 2.38-r11
Chainguard glibc-locale-gbm 0 2.38-r11
Chainguard glibc-locale-gd 0 2.38-r11
Chainguard glibc-locale-gez 0 2.38-r11
Chainguard glibc-locale-gl 0 2.38-r11
Chainguard glibc-locale-gu 0 2.38-r11
Chainguard glibc-locale-gv 0 2.38-r11
Chainguard glibc-locale-ha 0 2.38-r11
Chainguard glibc-locale-hak 0 2.38-r11
Chainguard glibc-locale-he 0 2.38-r11
Chainguard glibc-locale-hi 0 2.38-r11
Chainguard glibc-locale-hif 0 2.38-r11
Chainguard glibc-locale-hne 0 2.38-r11
Chainguard glibc-locale-hr 0 2.38-r11
Chainguard glibc-locale-hsb 0 2.38-r11
Chainguard glibc-locale-ht 0 2.38-r11
Chainguard glibc-locale-hu 0 2.38-r11
Chainguard glibc-locale-hy 0 2.38-r11
Chainguard glibc-locale-ia 0 2.38-r11
Chainguard glibc-locale-id 0 2.38-r11
Chainguard glibc-locale-ig 0 2.38-r11
Chainguard glibc-locale-ik 0 2.38-r11
Chainguard glibc-locale-is 0 2.38-r11
Chainguard glibc-locale-it 0 2.38-r11
Chainguard glibc-locale-iu 0 2.38-r11
Chainguard glibc-locale-ja 0 2.38-r11
Chainguard glibc-locale-ka 0 2.38-r11
Chainguard glibc-locale-kab 0 2.38-r11
Chainguard glibc-locale-kk 0 2.38-r11
Chainguard glibc-locale-kl 0 2.38-r11
Chainguard glibc-locale-km 0 2.38-r11
Chainguard glibc-locale-kn 0 2.38-r11
Chainguard glibc-locale-ko 0 2.38-r11
Chainguard glibc-locale-kok 0 2.38-r11
Chainguard glibc-locale-ks 0 2.38-r11
Chainguard glibc-locale-ku 0 2.38-r11
Chainguard glibc-locale-kv 0 2.38-r11
Chainguard glibc-locale-kw 0 2.38-r11
Chainguard glibc-locale-ky 0 2.38-r11
Chainguard glibc-locale-lb 0 2.38-r11
Chainguard glibc-locale-lg 0 2.38-r11
Chainguard glibc-locale-li 0 2.38-r11
Chainguard glibc-locale-lij 0 2.38-r11
Chainguard glibc-locale-ln 0 2.38-r11
Chainguard glibc-locale-lo 0 2.38-r11
Chainguard glibc-locale-lt 0 2.38-r11
Chainguard glibc-locale-ltg 0 2.38-r11
Chainguard glibc-locale-lv 0 2.38-r11
Chainguard glibc-locale-lzh 0 2.38-r11
Chainguard glibc-locale-mag 0 2.38-r11
Chainguard glibc-locale-mai 0 2.38-r11
Chainguard glibc-locale-mdf 0 2.38-r11
Chainguard glibc-locale-mfe 0 2.38-r11
Chainguard glibc-locale-mg 0 2.38-r11
Chainguard glibc-locale-mhr 0 2.38-r11
Chainguard glibc-locale-mi 0 2.38-r11
Chainguard glibc-locale-miq 0 2.38-r11
Chainguard glibc-locale-mjw 0 2.38-r11
Chainguard glibc-locale-mk 0 2.38-r11
Chainguard glibc-locale-ml 0 2.38-r11
Chainguard glibc-locale-mn 0 2.38-r11
Chainguard glibc-locale-mni 0 2.38-r11
Chainguard glibc-locale-mnw 0 2.38-r11
Chainguard glibc-locale-mr 0 2.38-r11
Chainguard glibc-locale-ms 0 2.38-r11
Chainguard glibc-locale-mt 0 2.38-r11
Chainguard glibc-locale-my 0 2.38-r11
Chainguard glibc-locale-nan 0 2.38-r11
Chainguard glibc-locale-nb 0 2.38-r11
Chainguard glibc-locale-nds 0 2.38-r11
Chainguard glibc-locale-ne 0 2.38-r11
Chainguard glibc-locale-nhn 0 2.38-r11
Chainguard glibc-locale-niu 0 2.38-r11
Chainguard glibc-locale-nl 0 2.38-r11
Chainguard glibc-locale-nn 0 2.38-r11
Chainguard glibc-locale-nr 0 2.38-r11
Chainguard glibc-locale-nso 0 2.38-r11
Chainguard glibc-locale-oc 0 2.38-r11
Chainguard glibc-locale-om 0 2.38-r11
Chainguard glibc-locale-or 0 2.38-r11
Chainguard glibc-locale-os 0 2.38-r11
Chainguard glibc-locale-pa 0 2.38-r11
Chainguard glibc-locale-pap 0 2.38-r11
Chainguard glibc-locale-pl 0 2.38-r11
Chainguard glibc-locale-posix 0 2.38-r11
Chainguard glibc-locale-ps 0 2.38-r11
Chainguard glibc-locale-pt 0 2.38-r11
Chainguard glibc-locale-quz 0 2.38-r11
Chainguard glibc-locale-raj 0 2.38-r11
Chainguard glibc-locale-rif 0 2.38-r11
Chainguard glibc-locale-ro 0 2.38-r11
Chainguard glibc-locale-ru 0 2.38-r11
Chainguard glibc-locale-rw 0 2.38-r11
Chainguard glibc-locale-sa 0 2.38-r11
Chainguard glibc-locale-sah 0 2.38-r11
Chainguard glibc-locale-sat 0 2.38-r11
Chainguard glibc-locale-sc 0 2.38-r11
Chainguard glibc-locale-scn 0 2.38-r11
Chainguard glibc-locale-sd 0 2.38-r11
Chainguard glibc-locale-se 0 2.38-r11
Chainguard glibc-locale-sgs 0 2.38-r11
Chainguard glibc-locale-shn 0 2.38-r11
Chainguard glibc-locale-shs 0 2.38-r11
Chainguard glibc-locale-si 0 2.38-r11
Chainguard glibc-locale-sid 0 2.38-r11
Chainguard glibc-locale-sk 0 2.38-r11
Chainguard glibc-locale-sl 0 2.38-r11
Chainguard glibc-locale-sm 0 2.38-r11
Chainguard glibc-locale-so 0 2.38-r11
Chainguard glibc-locale-sq 0 2.38-r11
Chainguard glibc-locale-sr 0 2.38-r11
Chainguard glibc-locale-ss 0 2.38-r11
Chainguard glibc-locale-ssy 0 2.38-r11
Chainguard glibc-locale-st 0 2.38-r11
Chainguard glibc-locale-su 0 2.38-r11
Chainguard glibc-locale-sv 0 2.38-r11
Chainguard glibc-locale-sw 0 2.38-r11
Chainguard glibc-locale-syr 0 2.38-r11
Chainguard glibc-locale-szl 0 2.38-r11
Chainguard glibc-locale-ta 0 2.38-r11
Chainguard glibc-locale-tcy 0 2.38-r11
Chainguard glibc-locale-te 0 2.38-r11
Chainguard glibc-locale-tg 0 2.38-r11
Chainguard glibc-locale-th 0 2.38-r11
Chainguard glibc-locale-the 0 2.38-r11
Chainguard glibc-locale-ti 0 2.38-r11
Chainguard glibc-locale-tig 0 2.38-r11
Chainguard glibc-locale-tk 0 2.38-r11
Chainguard glibc-locale-tl 0 2.38-r11
Chainguard glibc-locale-tn 0 2.38-r11
Chainguard glibc-locale-to 0 2.38-r11
Chainguard glibc-locale-tok 0 2.38-r11
Chainguard glibc-locale-tpi 0 2.38-r11
Chainguard glibc-locale-tr 0 2.38-r11
Chainguard glibc-locale-ts 0 2.38-r11
Chainguard glibc-locale-tt 0 2.38-r11
Chainguard glibc-locale-ug 0 2.38-r11
Chainguard glibc-locale-uk 0 2.38-r11
Chainguard glibc-locale-unm 0 2.38-r11
Chainguard glibc-locale-ur 0 2.38-r11
Chainguard glibc-locale-uz 0 2.38-r11

Related vulnerabilities