---
id: CVE-2020-11656
title: >-
  In SQLite through 3.31.1, the ALTER TABLE implementation has a use-after-free,
  as demonstrated by an ORDER BY clause that belongs to a compound SELECT
  statement.
summary: >-
  In SQLite through 3.31.1, the ALTER TABLE implementation has a use-after-free,
  as demonstrated by an ORDER BY clause that belongs to a compound SELECT
  statement.
severity: critical
cvss: 9.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
cwe:
  - CWE-416
vendor: sqlite
product: sqlite
affected:
  - sqlite <= 3.31.1
  - ontap_select_deploy_administration_utility
  - 'communications_network_charging_and_control >= 12.0.0, <= 12.0.3'
  - communications_network_charging_and_control = 6.0.1
  - communications_network_charging_and_control = 12.0.2
  - enterprise_manager_ops_center = 12.4.0.0
  - hyperion_infrastructure_technology = 11.1.2.4
  - 'mysql >= 8.0.0, <= 8.0.22'
  - mysql_workbench <= 8.0.22
  - outside_in_technology = 8.5.4
  - outside_in_technology = 8.5.5
  - zfs_storage_appliance_kit = 8.8
  - communications_messaging_server = 8.1
  - sinec_infrastructure_network_services < 1.0.1.1
  - tenable.sc <= 5.19.0
patched:
  - sinec_infrastructure_network_services 1.0.1.1
published: '2020-04-09'
updated: '2026-10-14'
sourceUpdated: '2026-10-14T10:17:24.240'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2020-11656'
references:
  - url: 'https://cert-portal.siemens.com/productcert/pdf/ssa-389290.pdf'
    label: cve@mitre.org
  - url: 'https://security.FreeBSD.org/advisories/FreeBSD-SA-20:22.sqlite.asc'
    label: cve@mitre.org
  - url: 'https://security.gentoo.org/glsa/202007-26'
    label: cve@mitre.org
  - url: 'https://security.netapp.com/advisory/ntap-20200416-0001/'
    label: cve@mitre.org
  - url: 'https://www.oracle.com/security-alerts/cpuApr2021.html'
    label: cve@mitre.org
  - url: 'https://www.oracle.com/security-alerts/cpujan2021.html'
    label: cve@mitre.org
  - url: 'https://www.oracle.com/security-alerts/cpujul2020.html'
    label: cve@mitre.org
  - url: 'https://www.oracle.com/security-alerts/cpuoct2020.html'
    label: cve@mitre.org
  - url: 'https://www.sqlite.org/src/info/d09f8c3621d5f7f8'
    label: cve@mitre.org
  - url: 'https://www.tenable.com/security/tns-2021-14'
    label: cve@mitre.org
  - url: 'https://www3.sqlite.org/cgi/src/info/b64674919f673602'
    label: cve@mitre.org
  - url: 'https://cert-portal.siemens.com/productcert/pdf/ssa-389290.pdf'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://security.FreeBSD.org/advisories/FreeBSD-SA-20:22.sqlite.asc'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://security.gentoo.org/glsa/202007-26'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://security.netapp.com/advisory/ntap-20200416-0001/'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://www.oracle.com/security-alerts/cpuApr2021.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://www.oracle.com/security-alerts/cpujan2021.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://www.oracle.com/security-alerts/cpujul2020.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://www.oracle.com/security-alerts/cpuoct2020.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://www.sqlite.org/src/info/d09f8c3621d5f7f8'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://www.tenable.com/security/tns-2021-14'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://www3.sqlite.org/cgi/src/info/b64674919f673602'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-389290.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-398330.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
tags:
  - nvd
epss: 0.0761
epssPercentile: 0.94437
ingestedAt: '2026-10-14T10:25:41.171Z'
---

## Overview

In SQLite through 3.31.1, the ALTER TABLE implementation has a use-after-free, as demonstrated by an ORDER BY clause that belongs to a compound SELECT statement.

## Affected

- `sqlite <= 3.31.1`
- `ontap_select_deploy_administration_utility`
- `communications_network_charging_and_control >= 12.0.0, <= 12.0.3`
- `communications_network_charging_and_control = 6.0.1`
- `communications_network_charging_and_control = 12.0.2`
- `enterprise_manager_ops_center = 12.4.0.0`
- `hyperion_infrastructure_technology = 11.1.2.4`
- `mysql >= 8.0.0, <= 8.0.22`
- `mysql_workbench <= 8.0.22`
- `outside_in_technology = 8.5.4`
- `outside_in_technology = 8.5.5`
- `zfs_storage_appliance_kit = 8.8`
- `communications_messaging_server = 8.1`
- `sinec_infrastructure_network_services < 1.0.1.1`
- `tenable.sc <= 5.19.0`

## Remediation

Upgrade past the affected range:

- `sinec_infrastructure_network_services 1.0.1.1`
