
Exploit para CVE-2011-4367 que apunta a la implementación de Apache MyFaces JSF, demostrando una vulnerabilidad de ejecución remota de código en el framework Jakarta Faces.
Implementación de Apache de la especificación JavaServer Faces (JSF) y Jakarta Faces
Implementación de Jakarta Faces 5.0
Implementación de Jakarta Faces 4.1
Implementación de Jakarta Faces 4.0
Basada en la base de código refactorizada 2.3-next
Implementación (casi) de JavaServer Faces 2.3
Base de código completamente refactorizada en comparación con 2.3, que también proporciona una extensión Quarkus
2.3-next equivale a la API JSF 2.3 pero delega los @ManagedBeans a CDI; los ManagedBeans configurados vía XML se ignoran por completo. La implementación del antiguo FacesEL (javax.faces.el.*) también se ha eliminado completamente.
Implementación de JavaServer Faces 2.3
mvn clean install
<dependency>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-api</artifactId>
<version>5.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-impl</artifactId>
<version>5.0.0-SNAPSHOT</version>
</dependency>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
version="5.0">
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>jakarta.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
</web-app>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="jakarta.faces.core"
xmlns:h="jakarta.faces.html">
<h:head>
</h:head>
<h:body>
Hello World!
</h:body>
</html>
Desde 2.3-next está disponible una extensión Quarkus. Se puede encontrar un proyecto de ejemplo aquí: https://github.com/apache/myfaces/blob/main/extensions/quarkus/showcase/
@ConversationScopedsrc/main/resources/META-INF/resources ya que Quarkus no crea un WAR y se ignora src/main/webapp