id: CVE-2023-6246

info:
  name: glibc's syslog - Local Privilege Escalation
  author: gy741
  severity: high
  description: |
    A heap-based buffer 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 the openlog function was not called, or called with the ident argument set to NULL, and the program name (the basename of argv[0]) is bigger than 1024 bytes, resulting in an application crash or local privilege escalation. This issue affects glibc 2.36 and newer.
  reference:
    - https://nvd.nist.gov/vuln/detail/CVE-2023-6246
    - https://www.qualys.com/2024/01/30/cve-2023-6246/syslog.txt
    - https://access.redhat.com/security/cve/CVE-2023-6246
    - https://bugzilla.redhat.com/show_bug.cgi?id=2249053
    - https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/D2FIH77VHY3KCRROCXOT6L27WMZXSJ2G/
  classification:
    cvss-metrics: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 7.8
    cve-id: CVE-2023-6246
    cwe-id: CWE-787,CWE-122
    epss-score: 0.0077
    epss-percentile: 0.80859
    cpe: cpe:2.3:a:gnu:glibc:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: gnu
    product: glibc
  tags: cve,cve2023,code,glibc,linux,privesc,local,gnu

self-contained: true
code:
  - engine:
      - sh
      - bash
    source: |
      (exec -a "`printf '%0128000x' 1`" /usr/bin/su < /dev/null)
      echo $?

    matchers:
      - type: word
        words:
          - "127"     # Segmentation Fault Exit Code
# digest: 490a00463044022067d33f4da6f38d0bbdd03910db3f757750cd7d17e8865d79a7f6dc3b68b2367702207a1573a717bd2ecba367dfdee834be3861b73053905b847e9199345d993f7acd:922c64590222798bb761d5b6d8e72950