SCW-Symbole
Held-Hintergrund ohne Trennlinie
Blog

Psychic Signatures: lo que necesita saber

Charlie Eriksen
Veröffentlicht Apr 27, 2022
Zuletzt aktualisiert am 06. März 2026

El 19 de abril de 2022, Neil Madden reveló una vulnerabilidad in Oracle Java 15 a 18 and OpenJDK 15, 17 and 18. La vulnerabilidad reside en la criptografía de las firmas ECDSA, que permite a un atacante eludir por completo las comprobaciones de estas firmas.

Es fácil ver los titulares sobre esta vulnerabilidad y pasarlos por alto, dada la naturaleza poco clara de las firmas de la ECDSA. Sin embargo, las firmas de la ECDSA en realidad desempeñan un papel clave en la protección de los sistemas de Internet para tareas críticas como la autenticación.

Antes de profundizar en los detalles, si quieres experimentar cómo los piratas informáticos explotan Psychic Signatures de forma práctica. Salta directamente a nuestro laboratorio gratuito - Misiones para probarlo tú mismo.

What is the problem with ECDSA?

Es posible que no haya oído hablar de la ECDSA antes. Es la abreviatura del algoritmo de firma digital de curva elíptica, que es un tipo de criptografía que utiliza las propiedades matemáticas de las curvas elípticas y ofrece una de las medidas de seguridad criptográficas más sólidas del sector en la actualidad.

Esto significa que se usa para muchas funciones importantes, como:

  • La firma de certificados SSL
  • Pretones de manos durante las comunicaciones cifradas
  • SAML
  • Firmas de JWT
  • OpenID Connect Firmes

Esto significa que la ECDSA es una parte clave de muchas de las funciones más delicadas para proteger los sistemas que existen. La capacidad de eludir las verificaciones de firmas podría ser bastante devastadora.

¿Cómo se explota la vulnerabilidad?

Desafortunadamente, las matemáticas del ECDSA son algo complicadas. Pero lo más importante que hay que saber es que una firma del ECDSA contiene dos datos: Por lo tanto, y s.

Estos números se utilizan para calcular la validez de la firma. El valor r es el «resultado» (lado izquierdo) de un cálculo que utiliza ambos r y s en el lado derecho de la ecuación. Dado que multiplicar por 0 es una mala idea, la especificación ECDSA indica explícitamente que si el valor de r o s siempre es 0, deben descartarse.

Pero la implementación de ECDSA en Java olvidó tener esto en cuenta. Por lo tanto, aceptará la firma de ambos r y s es 0, lo que siempre será cierto. Podemos demostrarlo con un ejemplo de un JWT, mostrando lo fácil que es. ¿Usando https://token.dev/, podemos generar un token con el algoritmo ES256, similar a lo que generaría una aplicación:

A token generado with the ES256

Recuerde que un JWT se divide en 3 partes:

  • Encabezado (en azul)
  • Carga útil (en verde)
  • Firma (en rojo)

Ahora, si quisiéramos saltarnos la verificación de firmas, ¿cómo lo haríamos? La firma especifica los valores de r Y sí, y está codificado en formato DER.

Codification DER for firm values

Cambiemos nuestro JWT para usar esta nueva firma. Tenga en cuenta que en los JWT, el signo igual no está incluido.

New JWT with DER codefied firm

Ahora, nuestra firma tiene r y s establecido en 0 y, en las versiones vulnerables de Java, la comprobación de firmas ahora se realizará correctamente para cualquier carga útil que especifique.

¿Quién se ve afectado y cómo mitigarlo?

La vulnerabilidad afecta tanto a Oracle Java como a OpenJDK. Entre ellas se incluyen:

Oracle Java SE (y versiones anteriores no compatibles):

  • 18
  • 17,02

Oracle Enterprise Edition GraalVM:

  • 22,0,02
  • 213,1

OpenJDK:

  • 18
  • 17,02
  • 15,06
  • 13,0,10
  • 11,0,14
  • 8u322
  • 7u331

Ambos Oráculo y OpenJDK han publicado avisos y parches para el problema que se pueden aplicar de inmediato.

Prácticas prácticas para defenderse de esta vulnerabilidad

En Secure Code Warrior, nos esforzamos por proporcionar a los desarrolladores la información más relevante y los ejercicios prácticos para las vulnerabilidades críticas, ya sea una más reciente, como Psychic Signatures, o algo que existe desde hace años.

Creemos que, para mantener realmente a raya el riesgo, es necesario permitir a los desarrolladores comprender el mecanismo de defensa y escribir código seguro desde el principio. Por eso, hemos creado una guía paso a paso sobre esta vulnerabilidad (y muchas otras) para ti y para los equipos afectados.

En el tutorial, podrás seguir las instrucciones para aprovechar la firma física en JWTS y ver el impacto en una aplicación que funciona en tiempo real.

Pruébalo ahora.

Siehe Ressource
Siehe Ressource

La vulnerabilidad de Psychic Signature reside en la criptografía de las firmas ECDSA, que protege los sistemas para tareas críticas como la autenticación. Con esta vulnerabilidad, los piratas informáticos pueden eludir cualquier comprobación de firmas. Explicamos qué es y cómo mitigarla en este post.

Interessiert an mehr?

mehr erfahren

Secure Code Warrior hier, um Ihrem Unternehmen dabei zu helfen, den Code während des gesamten Lebenszyklus der Softwareentwicklung zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Ganz gleich, ob Sie AppSec-Administrator, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Eine Vorführung buchen
Teilen auf:
LinkedIn-MarkenSozialx Logo
Autor
Charlie Eriksen
Veröffentlicht Apr 27, 2022

Teilen auf:
LinkedIn-MarkenSozialx Logo

El 19 de abril de 2022, Neil Madden reveló una vulnerabilidad in Oracle Java 15 a 18 and OpenJDK 15, 17 and 18. La vulnerabilidad reside en la criptografía de las firmas ECDSA, que permite a un atacante eludir por completo las comprobaciones de estas firmas.

Es fácil ver los titulares sobre esta vulnerabilidad y pasarlos por alto, dada la naturaleza poco clara de las firmas de la ECDSA. Sin embargo, las firmas de la ECDSA en realidad desempeñan un papel clave en la protección de los sistemas de Internet para tareas críticas como la autenticación.

Antes de profundizar en los detalles, si quieres experimentar cómo los piratas informáticos explotan Psychic Signatures de forma práctica. Salta directamente a nuestro laboratorio gratuito - Misiones para probarlo tú mismo.

What is the problem with ECDSA?

Es posible que no haya oído hablar de la ECDSA antes. Es la abreviatura del algoritmo de firma digital de curva elíptica, que es un tipo de criptografía que utiliza las propiedades matemáticas de las curvas elípticas y ofrece una de las medidas de seguridad criptográficas más sólidas del sector en la actualidad.

Esto significa que se usa para muchas funciones importantes, como:

  • La firma de certificados SSL
  • Pretones de manos durante las comunicaciones cifradas
  • SAML
  • Firmas de JWT
  • OpenID Connect Firmes

Esto significa que la ECDSA es una parte clave de muchas de las funciones más delicadas para proteger los sistemas que existen. La capacidad de eludir las verificaciones de firmas podría ser bastante devastadora.

¿Cómo se explota la vulnerabilidad?

Desafortunadamente, las matemáticas del ECDSA son algo complicadas. Pero lo más importante que hay que saber es que una firma del ECDSA contiene dos datos: Por lo tanto, y s.

Estos números se utilizan para calcular la validez de la firma. El valor r es el «resultado» (lado izquierdo) de un cálculo que utiliza ambos r y s en el lado derecho de la ecuación. Dado que multiplicar por 0 es una mala idea, la especificación ECDSA indica explícitamente que si el valor de r o s siempre es 0, deben descartarse.

Pero la implementación de ECDSA en Java olvidó tener esto en cuenta. Por lo tanto, aceptará la firma de ambos r y s es 0, lo que siempre será cierto. Podemos demostrarlo con un ejemplo de un JWT, mostrando lo fácil que es. ¿Usando https://token.dev/, podemos generar un token con el algoritmo ES256, similar a lo que generaría una aplicación:

A token generado with the ES256

Recuerde que un JWT se divide en 3 partes:

  • Encabezado (en azul)
  • Carga útil (en verde)
  • Firma (en rojo)

Ahora, si quisiéramos saltarnos la verificación de firmas, ¿cómo lo haríamos? La firma especifica los valores de r Y sí, y está codificado en formato DER.

Codification DER for firm values

Cambiemos nuestro JWT para usar esta nueva firma. Tenga en cuenta que en los JWT, el signo igual no está incluido.

New JWT with DER codefied firm

Ahora, nuestra firma tiene r y s establecido en 0 y, en las versiones vulnerables de Java, la comprobación de firmas ahora se realizará correctamente para cualquier carga útil que especifique.

¿Quién se ve afectado y cómo mitigarlo?

La vulnerabilidad afecta tanto a Oracle Java como a OpenJDK. Entre ellas se incluyen:

Oracle Java SE (y versiones anteriores no compatibles):

  • 18
  • 17,02

Oracle Enterprise Edition GraalVM:

  • 22,0,02
  • 213,1

OpenJDK:

  • 18
  • 17,02
  • 15,06
  • 13,0,10
  • 11,0,14
  • 8u322
  • 7u331

Ambos Oráculo y OpenJDK han publicado avisos y parches para el problema que se pueden aplicar de inmediato.

Prácticas prácticas para defenderse de esta vulnerabilidad

En Secure Code Warrior, nos esforzamos por proporcionar a los desarrolladores la información más relevante y los ejercicios prácticos para las vulnerabilidades críticas, ya sea una más reciente, como Psychic Signatures, o algo que existe desde hace años.

Creemos que, para mantener realmente a raya el riesgo, es necesario permitir a los desarrolladores comprender el mecanismo de defensa y escribir código seguro desde el principio. Por eso, hemos creado una guía paso a paso sobre esta vulnerabilidad (y muchas otras) para ti y para los equipos afectados.

En el tutorial, podrás seguir las instrucciones para aprovechar la firma física en JWTS y ver el impacto en una aplicación que funciona en tiempo real.

Pruébalo ahora.

Siehe Ressource
Siehe Ressource

Füllen Sie das folgende Formular aus, um den Bericht herunterzuladen.

Wir möchten Ihre Erlaubnis einholen, Ihnen Informationen über unsere Produkte oder Themen im Zusammenhang mit sicherer Verschlüsselung zuzusenden. Wir werden Ihre personenbezogenen Daten stets mit größter Sorgfalt behandeln und niemals zu Marketingzwecken an andere Unternehmen verkaufen.

Senden
scw Erfolgssymbol
scw-Fehlersymbol
Um das Formular zu senden, aktivieren Sie bitte die „Analyse“-Cookies. Sie können diese nach Abschluss des Vorgangs wieder deaktivieren.

El 19 de abril de 2022, Neil Madden reveló una vulnerabilidad in Oracle Java 15 a 18 and OpenJDK 15, 17 and 18. La vulnerabilidad reside en la criptografía de las firmas ECDSA, que permite a un atacante eludir por completo las comprobaciones de estas firmas.

Es fácil ver los titulares sobre esta vulnerabilidad y pasarlos por alto, dada la naturaleza poco clara de las firmas de la ECDSA. Sin embargo, las firmas de la ECDSA en realidad desempeñan un papel clave en la protección de los sistemas de Internet para tareas críticas como la autenticación.

Antes de profundizar en los detalles, si quieres experimentar cómo los piratas informáticos explotan Psychic Signatures de forma práctica. Salta directamente a nuestro laboratorio gratuito - Misiones para probarlo tú mismo.

What is the problem with ECDSA?

Es posible que no haya oído hablar de la ECDSA antes. Es la abreviatura del algoritmo de firma digital de curva elíptica, que es un tipo de criptografía que utiliza las propiedades matemáticas de las curvas elípticas y ofrece una de las medidas de seguridad criptográficas más sólidas del sector en la actualidad.

Esto significa que se usa para muchas funciones importantes, como:

  • La firma de certificados SSL
  • Pretones de manos durante las comunicaciones cifradas
  • SAML
  • Firmas de JWT
  • OpenID Connect Firmes

Esto significa que la ECDSA es una parte clave de muchas de las funciones más delicadas para proteger los sistemas que existen. La capacidad de eludir las verificaciones de firmas podría ser bastante devastadora.

¿Cómo se explota la vulnerabilidad?

Desafortunadamente, las matemáticas del ECDSA son algo complicadas. Pero lo más importante que hay que saber es que una firma del ECDSA contiene dos datos: Por lo tanto, y s.

Estos números se utilizan para calcular la validez de la firma. El valor r es el «resultado» (lado izquierdo) de un cálculo que utiliza ambos r y s en el lado derecho de la ecuación. Dado que multiplicar por 0 es una mala idea, la especificación ECDSA indica explícitamente que si el valor de r o s siempre es 0, deben descartarse.

Pero la implementación de ECDSA en Java olvidó tener esto en cuenta. Por lo tanto, aceptará la firma de ambos r y s es 0, lo que siempre será cierto. Podemos demostrarlo con un ejemplo de un JWT, mostrando lo fácil que es. ¿Usando https://token.dev/, podemos generar un token con el algoritmo ES256, similar a lo que generaría una aplicación:

A token generado with the ES256

Recuerde que un JWT se divide en 3 partes:

  • Encabezado (en azul)
  • Carga útil (en verde)
  • Firma (en rojo)

Ahora, si quisiéramos saltarnos la verificación de firmas, ¿cómo lo haríamos? La firma especifica los valores de r Y sí, y está codificado en formato DER.

Codification DER for firm values

Cambiemos nuestro JWT para usar esta nueva firma. Tenga en cuenta que en los JWT, el signo igual no está incluido.

New JWT with DER codefied firm

Ahora, nuestra firma tiene r y s establecido en 0 y, en las versiones vulnerables de Java, la comprobación de firmas ahora se realizará correctamente para cualquier carga útil que especifique.

¿Quién se ve afectado y cómo mitigarlo?

La vulnerabilidad afecta tanto a Oracle Java como a OpenJDK. Entre ellas se incluyen:

Oracle Java SE (y versiones anteriores no compatibles):

  • 18
  • 17,02

Oracle Enterprise Edition GraalVM:

  • 22,0,02
  • 213,1

OpenJDK:

  • 18
  • 17,02
  • 15,06
  • 13,0,10
  • 11,0,14
  • 8u322
  • 7u331

Ambos Oráculo y OpenJDK han publicado avisos y parches para el problema que se pueden aplicar de inmediato.

Prácticas prácticas para defenderse de esta vulnerabilidad

En Secure Code Warrior, nos esforzamos por proporcionar a los desarrolladores la información más relevante y los ejercicios prácticos para las vulnerabilidades críticas, ya sea una más reciente, como Psychic Signatures, o algo que existe desde hace años.

Creemos que, para mantener realmente a raya el riesgo, es necesario permitir a los desarrolladores comprender el mecanismo de defensa y escribir código seguro desde el principio. Por eso, hemos creado una guía paso a paso sobre esta vulnerabilidad (y muchas otras) para ti y para los equipos afectados.

En el tutorial, podrás seguir las instrucciones para aprovechar la firma física en JWTS y ver el impacto en una aplicación que funciona en tiempo real.

Pruébalo ahora.

Webinar ansehen
Beginnen
mehr erfahren

Klicken Sie auf den untenstehenden Link und laden Sie die PDF-Datei dieser Ressource herunter.

Secure Code Warrior hier, um Ihrem Unternehmen dabei zu helfen, den Code während des gesamten Lebenszyklus der Softwareentwicklung zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Ganz gleich, ob Sie AppSec-Administrator, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Bericht anzeigenEine Vorführung buchen
Siehe Ressource
Teilen auf:
LinkedIn-MarkenSozialx Logo
Interessiert an mehr?

Teilen auf:
LinkedIn-MarkenSozialx Logo
Autor
Charlie Eriksen
Veröffentlicht Apr 27, 2022

Teilen auf:
LinkedIn-MarkenSozialx Logo

El 19 de abril de 2022, Neil Madden reveló una vulnerabilidad in Oracle Java 15 a 18 and OpenJDK 15, 17 and 18. La vulnerabilidad reside en la criptografía de las firmas ECDSA, que permite a un atacante eludir por completo las comprobaciones de estas firmas.

Es fácil ver los titulares sobre esta vulnerabilidad y pasarlos por alto, dada la naturaleza poco clara de las firmas de la ECDSA. Sin embargo, las firmas de la ECDSA en realidad desempeñan un papel clave en la protección de los sistemas de Internet para tareas críticas como la autenticación.

Antes de profundizar en los detalles, si quieres experimentar cómo los piratas informáticos explotan Psychic Signatures de forma práctica. Salta directamente a nuestro laboratorio gratuito - Misiones para probarlo tú mismo.

What is the problem with ECDSA?

Es posible que no haya oído hablar de la ECDSA antes. Es la abreviatura del algoritmo de firma digital de curva elíptica, que es un tipo de criptografía que utiliza las propiedades matemáticas de las curvas elípticas y ofrece una de las medidas de seguridad criptográficas más sólidas del sector en la actualidad.

Esto significa que se usa para muchas funciones importantes, como:

  • La firma de certificados SSL
  • Pretones de manos durante las comunicaciones cifradas
  • SAML
  • Firmas de JWT
  • OpenID Connect Firmes

Esto significa que la ECDSA es una parte clave de muchas de las funciones más delicadas para proteger los sistemas que existen. La capacidad de eludir las verificaciones de firmas podría ser bastante devastadora.

¿Cómo se explota la vulnerabilidad?

Desafortunadamente, las matemáticas del ECDSA son algo complicadas. Pero lo más importante que hay que saber es que una firma del ECDSA contiene dos datos: Por lo tanto, y s.

Estos números se utilizan para calcular la validez de la firma. El valor r es el «resultado» (lado izquierdo) de un cálculo que utiliza ambos r y s en el lado derecho de la ecuación. Dado que multiplicar por 0 es una mala idea, la especificación ECDSA indica explícitamente que si el valor de r o s siempre es 0, deben descartarse.

Pero la implementación de ECDSA en Java olvidó tener esto en cuenta. Por lo tanto, aceptará la firma de ambos r y s es 0, lo que siempre será cierto. Podemos demostrarlo con un ejemplo de un JWT, mostrando lo fácil que es. ¿Usando https://token.dev/, podemos generar un token con el algoritmo ES256, similar a lo que generaría una aplicación:

A token generado with the ES256

Recuerde que un JWT se divide en 3 partes:

  • Encabezado (en azul)
  • Carga útil (en verde)
  • Firma (en rojo)

Ahora, si quisiéramos saltarnos la verificación de firmas, ¿cómo lo haríamos? La firma especifica los valores de r Y sí, y está codificado en formato DER.

Codification DER for firm values

Cambiemos nuestro JWT para usar esta nueva firma. Tenga en cuenta que en los JWT, el signo igual no está incluido.

New JWT with DER codefied firm

Ahora, nuestra firma tiene r y s establecido en 0 y, en las versiones vulnerables de Java, la comprobación de firmas ahora se realizará correctamente para cualquier carga útil que especifique.

¿Quién se ve afectado y cómo mitigarlo?

La vulnerabilidad afecta tanto a Oracle Java como a OpenJDK. Entre ellas se incluyen:

Oracle Java SE (y versiones anteriores no compatibles):

  • 18
  • 17,02

Oracle Enterprise Edition GraalVM:

  • 22,0,02
  • 213,1

OpenJDK:

  • 18
  • 17,02
  • 15,06
  • 13,0,10
  • 11,0,14
  • 8u322
  • 7u331

Ambos Oráculo y OpenJDK han publicado avisos y parches para el problema que se pueden aplicar de inmediato.

Prácticas prácticas para defenderse de esta vulnerabilidad

En Secure Code Warrior, nos esforzamos por proporcionar a los desarrolladores la información más relevante y los ejercicios prácticos para las vulnerabilidades críticas, ya sea una más reciente, como Psychic Signatures, o algo que existe desde hace años.

Creemos que, para mantener realmente a raya el riesgo, es necesario permitir a los desarrolladores comprender el mecanismo de defensa y escribir código seguro desde el principio. Por eso, hemos creado una guía paso a paso sobre esta vulnerabilidad (y muchas otras) para ti y para los equipos afectados.

En el tutorial, podrás seguir las instrucciones para aprovechar la firma física en JWTS y ver el impacto en una aplicación que funciona en tiempo real.

Pruébalo ahora.

Inhaltsverzeichnis

PDF herunterladen
Siehe Ressource
Interessiert an mehr?

mehr erfahren

Secure Code Warrior hier, um Ihrem Unternehmen dabei zu helfen, den Code während des gesamten Lebenszyklus der Softwareentwicklung zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Ganz gleich, ob Sie AppSec-Administrator, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Eine Vorführung buchenHerunterladen
Teilen auf:
LinkedIn-MarkenSozialx Logo
Ressourcenzentrum

Ressourcen für den Einstieg

Weitere Veröffentlichungen
Ressourcenzentrum

Ressourcen für den Einstieg

Weitere Veröffentlichungen