Crítica

Sequelize - Default support for “raw attributes” when using parentheses

  • Publicada: 24.02.2023
  • Actualizado: 11.10.2026 10:22

Impact

Sequelize 6.28.2 and prior has a dangerous feature where using parentheses in the attribute option would make Sequelize use the string as-is in the SQL

ts
User.findAll({
  attributes: [
    ['count(id)', 'count']
  ]
});

Produced

sql
SELECT count(id) AS "count" FROM "users"

Patches

This feature was deprecated in Sequelize 5, and using it prints a deprecation warning.

This issue has been patched in @sequelize/core@7.0.0.alpha-20 and sequelize@6.29.0.

In Sequelize 7, it now produces the following:

sql
SELECT "count(id)" AS "count" FROM "users"

In Sequelize 6, it throws an error explaining that we had to introduce a breaking change, and requires the user to explicitly opt-in to either the Sequelize 7 behavior (always escape) or the Sequelize 5 behavior (inline attributes that include () without escaping). See https://github.com/sequelize/sequelize/pull/15710 for more information.

Mitigations

Do not use user-provided content to build your list or attributes. If you do, make sure that attribute in question actually exists on your model by checking that it exists in the rawAttributes property of your model first.


A discussion thread about this issue is open at https://github.com/sequelize/sequelize/discussions/15694 CVE: CVE-2023-22578

Software afectado

Haz clic en una tecnología para ver todas sus vulnerabilidades.

PlataformaPaqueteVersiones vulnerablesCorregida en
Paquete de npm sequelize < 6.29.0 6.29.0
Paquete de npm @sequelize/core < 7.0.0-alpha.20 7.0.0-alpha.20

Referencias

Puntuación CVSS 10/10
Vector CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Debilidad (CWE)
CWE-790
Plataforma
npm
Paquete
sequelize, @sequelize/core
Publicada
24.02.2023
Actualizado
11.10.2026 10:22

Fuentes y licencias

OSV / GitHub Advisory Database - GHSA-f598-mfpv-gmfx - CC BY 4.0

Historial de vulnerabilidades: sequelize

Todas las vulnerabilidades publicadas de este paquete (Paquete de npm), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.

Todas (18) en el archivo
Entradas en total
18
Primera → última
10.2017 08.2026
Sin corrección
0
Explotada en ataques
0

Distribución por gravedad

  • Crítica 8
  • Alta 7
  • Media 3

Divulgaciones por año

  1. 2017: 1
  2. 2018: 0
  3. 2019: 9
  4. 2020: 2
  5. 2021: 0
  6. 2022: 0
  7. 2023: 4
  8. 2024: 0
  9. 2025: 0
  10. 2026: 2
Gravedad:
  1. Crítica · 9.8 CVE-2026-69240 < 6.37.4 6.37.4
  2. Alta · 7.5 CVE-2026-30951 >= 6.0.0-beta.1, < 6.37.8 6.37.8
  3. Sequelize - Default support for “raw attributes” when using parentheses esta entrada
    Crítica · 10.0 CVE-2023-22578 < 6.29.0 6.29.0
  4. Crítica · 9.9 CVE-2023-22579 < 6.28.1 6.28.1
  5. Crítica · 10.0 CVE-2023-25813 < 6.19.1 6.19.1
  6. Crítica · 9.8 CVE-2016-1000225 >= 3.4.0, < 3.23.6 3.23.6
  7. Crítica · 9.8 CVE-2019-10749 < 3.35.1 3.35.1
  8. Crítica · 9.8 CVE-2019-10748 < 3.35.1, >= 4.0.0, < 4.44.3, >= 5.0.0, < 5.8.11 3.35.1, 4.44.3, 5.8.11
  9. Crítica · 9.8 CVE-2019-10752 < 4.44.3, >= 5.0.0, < 5.15.1 4.44.3, 5.15.1
  10. Alta ghsa-wfp9-vr4j-f49j < 4.12.0 4.12.0
  11. Alta · 7.5 CVE-2019-11069 >= 5.0.0, < 5.3.0 5.3.0
  12. Alta CVE-2016-10550 < 3.17.0 3.17.0
  13. Alta CVE-2016-10553 < 3.0.0 3.0.0
  14. Alta · 7.5 CVE-2016-10556 < 3.20.0 3.20.0
  15. Alta CVE-2015-1369 < 2.0.0-rc8 2.0.0-rc8

Identifica las vulnerabilidades de tu aplicación

Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.

Conectar tu aplicación
Newsletter DockRay

La seguridad de tus aplicaciones en tu correo

Vulnerabilidades importantes, recomendaciones concretas y consejos prácticos para tus aplicaciones. Elige tus tecnologías y sigue lo que importa para tu proyecto.

  • Un resumen diario de nuevas vulnerabilidades, también las críticas.
  • Avisos sobre actualizaciones importantes.
  • Consejos prácticos sobre seguridad y monitorización de aplicaciones.

Déjalo vacío para recibir avisos de todas las tecnologías.

Suscripción gratuita. Date de baja con un clic en cualquier correo.