CVE-2023-6780
Medium · 5.3CVSS
5.3
EPSS
2.7%
Published
Jan 31, 2024
CISA due date
—
Cloudanix analysis
A problem in a fundamental system library can make programs that write very long log messages crash or behave unpredictably.
- 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
- Identify services or applications that invoke syslog/vsyslog with user-controllable or externally sourced strings
- Supply an extremely long message to the logging call
- Trigger the integer overflow in __vsyslog_internal buffer size computation
- 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
- CVE-2026-4437 Calling gethostbyaddr or gethostbyaddr_r with a configured nsswitch.conf that specifies… Also affects glibc
- CVE-2026-4438 Calling gethostbyaddr or gethostbyaddr_r with a configured nsswitch.conf that specifies… Also affects glibc
- CVE-2025-15281 Calling wordexp with WRDE_REUSE in conjunction with WRDE_APPEND in the GNU C Library… Also affects glibc
- CVE-2023-6246 A heap-based buffer overflow was found in the __vsyslog_internal function of the glibc… Also affects glibc
- CVE-2023-6779 An off-by-one heap-based buffer overflow was found in the __vsyslog_internal function of… Also affects glibc
- CVE-2026-106574 ImageMagick is free and open-source software used for editing and manipulating digital… CWE-131
- CVE-2026-88830 A unit confusion in BusyBox TLS Montgomery reduction buffer allocation causes a… CWE-131
- CVE-2026-84448 libheif is a HEIF and AVIF file format decoder and encoder. CWE-131