Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidades

Con el objetivo de informar, advertir y ayudar a los profesionales sobre las últimas vulnerabilidades de seguridad en sistemas tecnológicos, ponemos a disposición de los usuarios interesados en esta información una base de datos con información en castellano sobre cada una de las últimas vulnerabilidades documentadas y conocidas.

Este repositorio con más de 75.000 registros esta basado en la información de NVD (National Vulnerability Database) – en función de un acuerdo de colaboración – por el cual desde INCIBE realizamos la traducción al castellano de la información incluida. En ocasiones este listado mostrará vulnerabilidades que aún no han sido traducidas debido a que se recogen en el transcurso del tiempo en el que el equipo de INCIBE realiza el proceso de traducción.

Se emplea el estándar de nomenclatura de vulnerabilidades CVE (Common Vulnerabilities and Exposures), con el fin de facilitar el intercambio de información entre diferentes bases de datos y herramientas. Cada una de las vulnerabilidades recogidas enlaza a diversas fuentes de información así como a parches disponibles o soluciones aportadas por los fabricantes y desarrolladores. Es posible realizar búsquedas avanzadas teniendo la opción de seleccionar diferentes criterios como el tipo de vulnerabilidad, fabricante, tipo de impacto entre otros, con el fin de acortar los resultados.

Mediante suscripción RSS o Boletines podemos estar informados diariamente de las últimas vulnerabilidades incorporadas al repositorio.

CVE-2026-75759

Fecha de publicación:
30/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** Improper Verification of Cryptographic Signature vulnerability in erlef oidcc allows an unauthenticated attacker to impersonate an arbitrary user via an encrypted ID token or JARM response carrying no nested signature. OpenID Connect Core 1.0 section 2 requires that an encrypted ID token be signed then encrypted, with the result being a Nested JWT, and JARM processing rule 5 requires the client to check the signature unconditionally. oidcc instead accepted a JWE wrapping unsigned claims as fully validated, so anyone holding the relying party&amp;#39;s public encryption key could mint a token with an arbitrary sub, iss, and aud without possessing the provider&amp;#39;s signing key.<br /> <br /> In oidcc_jwt_util:verify_decrypted_token/4, a decrypted payload that is not a signed JWS fell back to parsing the plaintext claims and returning them with no verifying key. oidcc_token:int_validate_jwt/4 then matched on the JOSE structure type rather than on whether a signature had been verified, and returned success. The JARM path in oidcc_token:validate_jarm/3 is reachable through the browser front channel. UserInfo responses are not affected, because OpenID Connect Core 1.0 section 5.3.2 permits them to be encrypted without also being signed.<br /> <br /> This issue affects oidcc: from 3.2.0-beta.1 before 3.9.0.
Gravedad CVSS v4.0: ALTA
Última modificación:
30/08/2026

CVE-2026-82562

Fecha de publicación:
30/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** ### Summary<br /> <br /> <br /> <br /> When `qs.parse` is called with `comma: true` and `throwOnLimitExceeded: true`, a comma-separated value under a bracket-push key (`a[]=1,2,3,4`) is split into an array without being compared against `arrayLimit`, while the same value under a flat key (`a=1,2,3,4`), an indexed key (`a[0]=`), a nested key (`a[b]=`), or a dotted key (`a.b=` with `allowDots`) throws the documented `RangeError`. A single parameter such as `a[]=1,2,2,...` therefore produces an inner array of arbitrary length even though the caller opted into the hard limit. This is the `[]=` key form that the fix for CVE-2026-2391 (qs 6.14.2) did not cover.<br /> <br /> <br /> <br /> ### Details<br /> <br /> <br /> <br /> In `lib/parse.js`, a comma-separated value under a `[]=` key is split and then wrapped as a single nested element (`val = [val]`, so that each `a[]=x,y` group counts as one element of the outer array). The `arrayLimit` check that 6.14.2 added for comma values runs after that wrap, so for `[]=` parts it only ever saw the wrapper of length 1. 6.15.3 added a pre-split comma count so that an oversized value throws before it is allocated, but gated it on an `isFlatArrayValue` flag that `parseValues` set to `false` for any part containing `[]=`, and did not pass it for object-valued input, so the gap remained.<br /> <br /> <br /> <br /> #### PoC<br /> <br /> <br /> <br /> ```js<br /> <br /> <br /> <br /> var qs = require(&amp;#39;qs&amp;#39;);<br /> <br /> <br /> <br /> var options = { comma: true, arrayLimit: 3, throwOnLimitExceeded: true };<br /> <br /> <br /> <br /> qs.parse(&amp;#39;a=1,2,3,4&amp;#39;, options); // RangeError: Array limit exceeded. Only 3 elements allowed in an array.<br /> <br /> <br /> <br /> qs.parse(&amp;#39;a[]=1,2,3,4&amp;#39;, options); // { a: [ [ &amp;#39;1&amp;#39;, &amp;#39;2&amp;#39;, &amp;#39;3&amp;#39;, &amp;#39;4&amp;#39; ] ] } (no throw)<br /> <br /> <br /> <br /> qs.parse(&amp;#39;a[]=&amp;#39; + &amp;#39;1,&amp;#39;.repeat(1000000) + &amp;#39;1&amp;#39;, { comma: true, arrayLimit: 20, throwOnLimitExceeded: true });<br /> <br /> <br /> <br /> // no throw; a 1,000,001-element inner array is allocated<br /> <br /> <br /> <br /> ```<br /> <br /> <br /> <br /> #### Fix<br /> <br /> <br /> <br /> `lib/parse.js`, applied in 8859c37 on `main` and released as v6.16.0: the `isFlatArrayValue` gate is removed, so every comma-split value is counted against `arrayLimit` before splitting regardless of key form. An in-limit group under `a[]=` still counts as one element of the outer array, and the default (`throwOnLimitExceeded: false`) path is unchanged.<br /> <br /> <br /> <br /> ### Affected versions<br /> <br /> <br /> <br /> `&gt;=6.14.2
Gravedad CVSS v4.0: MEDIA
Última modificación:
30/08/2026

CVE-2026-77831

Fecha de publicación:
30/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** Inefficient Algorithmic Complexity vulnerability in ash-project ash_paper_trail allows a user who can submit a large array attribute to a paper-trailed create or update action to cause a denial of service through excessive CPU and memory use.<br /> <br /> With full-diff change tracking, AshPaperTrail.ChangeBuilders.FullDiff.ListChange pairs each prior array element against the new list by rebuilding the remaining-elements accumulator with acc ++ [tuple] on every step, copying the growing list each time, so the pairing scales cubically in the array length. Nothing bounds the length and the value comes straight from action input, so one request carrying a large accepted {:array, _} attribute forces tens of seconds of CPU and multi-gigabyte allocations.<br /> <br /> This issue affects ash_paper_trail: from 0.1.1 before 0.7.0.
Gravedad CVSS v4.0: BAJA
Última modificación:
30/08/2026

CVE-2026-77970

Fecha de publicación:
30/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** Cleartext Storage of Sensitive Information vulnerability in ash-project ash_paper_trail allows an attacker with read access to the generated version resource to recover sensitive values nested inside embedded resources, unions, or lists.<br /> <br /> sensitive_attributes :redact and :ignore only act on the tracked resource&amp;#39;s top-level attributes. maybe_redact_changes/3 and the stored-action-input path in AshPaperTrail.Resource.Changes.CreateNewVersion derive the sensitive set from the resource&amp;#39;s own attributes and never descend into embedded, union, or list values, so a non-sensitive attribute or action argument that holds an embed with a sensitive? field (for example an accepted credentials embed carrying a token) is written to the version table in cleartext.<br /> <br /> This issue affects ash_paper_trail: from 0.3.0 before 0.7.0.
Gravedad CVSS v4.0: MEDIA
Última modificación:
30/08/2026

CVE-2026-75847

Fecha de publicación:
30/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** Cleartext Storage of Sensitive Information vulnerability in ash-project ash_paper_trail allows an attacker with read access to the generated version resource to recover the plaintext of sensitive? attributes.<br /> <br /> AshPaperTrail stores the values of tracked sensitive? attributes in the generated version resource&amp;#39;s changes map, which is declared public? true and sensitive? false, so the values are returned by the version resource&amp;#39;s default read action and printed in logs, inspect output, and error messages instead of being redacted. AshPaperTrail.Resource.Transformers.CreateVersionResource derives the changes map&amp;#39;s sensitivity from the ignore_attributes list (the attributes excluded from changes) rather than from the tracked attributes actually stored in it, and ignore_attributes defaults to empty, so the flag is effectively always false.<br /> <br /> This issue affects ash_paper_trail: from 0.1.1 before 0.7.0.
Gravedad CVSS v4.0: MEDIA
Última modificación:
30/08/2026

CVE-2026-82417

Fecha de publicación:
30/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** ### Summary<br /> <br /> <br /> <br /> `qs.stringify` throws a `TypeError` when it serializes an object whose own `constructor` property has a truthy, non-callable `isBuffer` member. `utils.isBuffer` duck-types buffers by calling `obj.constructor.isBuffer(obj)` after checking only that the property is truthy, so a value such as `{ constructor: { isBuffer: "x" } }` makes the call throw `TypeError: obj.constructor.isBuffer is not a function`.<br /> <br /> <br /> <br /> ### Details<br /> <br /> <br /> <br /> `lib/stringify.js:127` calls `utils.isBuffer` on every non-primitive value it serializes. `utils.isBuffer` (`lib/utils.js:332`) reads `obj.constructor.isBuffer` and invokes it without verifying that it is a function. `constructor` and `isBuffer` are ordinary property names, so any object carrying them as own properties reaches the unchecked call.<br /> <br /> <br /> <br /> Such an object can be built from untrusted input. `qs.parse("x[constructor][isBuffer]=y", { plainObjects: true })` or `{ allowPrototypes: true }` keeps the `constructor` key as an own property (the default parse options drop it), and `JSON.parse("{\"a\":{\"constructor\":{\"isBuffer\":\"x\"}}}")` produces the same shape with no qs option involved. Express 4 with its default `query parser` setting and body-parser with `extended: true` both call `qs.parse` with `allowPrototypes: true`, so on those stacks `req.query` and `req.body` can carry the shape directly.<br /> <br /> <br /> <br /> #### PoC<br /> <br /> <br /> <br /> ```js<br /> <br /> <br /> <br /> var qs = require("qs");<br /> <br /> <br /> <br /> qs.stringify(qs.parse("x[constructor][isBuffer]=y", { plainObjects: true }));<br /> <br /> <br /> <br /> qs.stringify(JSON.parse("{\"a\":{\"constructor\":{\"isBuffer\":\"x\"}}}"));<br /> <br /> <br /> <br /> // TypeError: obj.constructor.isBuffer is not a function<br /> <br /> <br /> <br /> // at Object.isBuffer (lib/utils.js:332:78)<br /> <br /> <br /> <br /> // at stringify (lib/stringify.js:127:45)<br /> <br /> <br /> <br /> ```<br /> <br /> <br /> <br /> #### Fix<br /> <br /> <br /> <br /> `lib/utils.js`, applied in e83d321 on `main` and released as v6.16.0:<br /> <br /> <br /> <br /> ```diff<br /> <br /> <br /> <br /> - return !!(obj.constructor &amp;&amp; obj.constructor.isBuffer &amp;&amp; obj.constructor.isBuffer(obj));<br /> <br /> <br /> <br /> + return !!(obj.constructor &amp;&amp; typeof obj.constructor.isBuffer === "function" &amp;&amp; obj.constructor.isBuffer(obj));<br /> <br /> <br /> <br /> ```<br /> <br /> <br /> <br /> Real `Buffer`, `safer-buffer`, and browserify `buffer` polyfill instances serialize exactly as before; only the throw is removed.<br /> <br /> <br /> <br /> ### Affected versions<br /> <br /> <br /> <br /> `&gt;=2.2.5
Gravedad CVSS v4.0: MEDIA
Última modificación:
30/08/2026

CVE-2026-82424

Fecha de publicación:
29/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** A weakness has been identified in PHPGurukul Student Information System 1.0. Affected by this vulnerability is an unknown functionality of the file /student_edit1.php. Executing a manipulation of the argument ID can lead to sql injection. The attack can be launched remotely. The exploit has been made available to the public and could be used for attacks.
Gravedad CVSS v4.0: BAJA
Última modificación:
29/08/2026

CVE-2026-82423

Fecha de publicación:
29/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** A vulnerability has been found in macrozheng mall up to 1.0.3. The affected element is an unknown function of the file /order/paySuccess of the component Payment Status Endpoint. The manipulation of the argument orderId leads to enforcement of behavioral workflow. The attack is possible to be carried out remotely. The vendor deleted the GitHub issue for this vulnerability without any explanation.
Gravedad CVSS v4.0: BAJA
Última modificación:
29/08/2026

CVE-2026-82422

Fecha de publicación:
29/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** A security flaw has been discovered in itsourcecode Sales and Inventory System 1.0. Impacted is an unknown function of the file /pages/emp_del.php. The manipulation of the argument ID results in sql injection. The attack may be launched remotely. The exploit has been released to the public and may be used for attacks.
Gravedad CVSS v4.0: BAJA
Última modificación:
29/08/2026

CVE-2026-82421

Fecha de publicación:
29/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** A vulnerability was identified in itsourcecode Sales and Inventory System 1.0. This issue affects some unknown processing of the file /pages/emp_edit.php. The manipulation of the argument ID leads to sql injection. The attack may be initiated remotely. The exploit is publicly available and might be used.
Gravedad CVSS v4.0: BAJA
Última modificación:
29/08/2026

CVE-2026-15369

Fecha de publicación:
29/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** The Custom User Registration Fields for WooCommerce plugin for WordPress is vulnerable to Privilege Escalation in versions up to, and including, 2.2.3. This is due to the plugin accepting an attacker-controlled afreg_select_user_role value from the unauthenticated WooCommerce Store API /wc/store/v1/checkout request in the af_reg_checkout_data_to_order_meta_data_block() function, persisting it in order meta, and then passing it directly to WP_User::add_role() in the af_reg_custom_order_processing_function() function (hooked to woocommerce_thankyou) without validating against the plugin&amp;#39;s admin-configured allowed role list. This makes it possible for unauthenticated attackers to elevate their privileges to Administrator by creating an account during checkout with a modified JSON body specifying administrator (or any other role slug) as the desired role. Note: The exploit requires the "User Role Selection" setting to be enabled.
Gravedad CVSS v3.1: CRÍTICA
Última modificación:
29/08/2026

CVE-2026-75807

Fecha de publicación:
29/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** The SAML Single Sign On – SSO Login plugin for WordPress is vulnerable to Authentication Bypass in versions up to, and including, 5.4.6. This is due to the mo_saml_login_validate() ACS handler persisting the X.509 certificate extracted from an incoming SAMLResponse into the mo_saml_required_certificate option before the signature-validation verdict is enforced, because mo_saml_find_certificate() returns false on a fingerprint mismatch rather than halting execution. This makes it possible for unauthenticated attackers to overwrite the plugin&amp;#39;s stored IdP signing certificate with an attacker-controlled value, and subsequently forge SAML assertions for any WordPress account — including administrators — to obtain a fully privileged session. Note: The exploit requires the administrator to perform a repair after receiving the test_config_error_wpsamlerr004 error message during the test configuration.
Gravedad CVSS v3.1: ALTA
Última modificación:
29/08/2026