
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 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