Adds auxiliary module for Pretalx File Read (CVE-2023-28459)#20404
Closed
msutovsky-r7 wants to merge 12 commits intorapid7:masterfrom
Closed
Adds auxiliary module for Pretalx File Read (CVE-2023-28459)#20404msutovsky-r7 wants to merge 12 commits intorapid7:masterfrom
msutovsky-r7 wants to merge 12 commits intorapid7:masterfrom
Conversation
|
Thanks for your pull request! Before this can be merged, we need the following documentation for your module: |
Contributor
|
Hi @msutovsky-r7 ! Here you have the doc you asked for. Have a good day :) |
1 task
jheysel-r7
reviewed
Jul 31, 2025
|
|
||
| fail_with(Msf::Module::Failure::Unknown, 'Could not found hidden inputs: creating profile info') unless submit_uri && csrf_token | ||
|
|
||
| Rex::Text.rand_text_alphanumeric(16).to_s |
Contributor
There was a problem hiding this comment.
Suggested change
| Rex::Text.rand_text_alphanumeric(16).to_s |
| cookie_jar.clear | ||
|
|
||
| vprint_status("Logging with credentials: #{datastore['EMAIL']}/#{datastore['PASSWORD']}") | ||
| fail_with Failure::NoAccess, 'Incorrect credentials' unless login(datastore['EMAIL'], datastore['PASSWORD']) |
Contributor
There was a problem hiding this comment.
Suggested change
| fail_with Failure::NoAccess, 'Incorrect credentials' unless login(datastore['EMAIL'], datastore['PASSWORD']) | |
| fail_with(Failure::NoAccess, 'Incorrect credentials') unless login(datastore['EMAIL'], datastore['PASSWORD']) |
|
|
||
| vprint_status('Wait for schedule ZIP to be exported') | ||
|
|
||
| sleep(5) |
Contributor
There was a problem hiding this comment.
Could you make this a datastore option?
Contributor
Contributor
|
I'm using |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


This PR adds auxiliary file read module that exploits CVE-2023-28459. This PR should be merged before #20413.
Vulnerable Application
Pretalx is a web-based conference planning tool, used to manage call for paper submissions, talk selection and so on. It used by many major IT conferences - such as OffensiveCon, Hexacon,... Versions 2.3.1 and prior are vulnerable to arbitrary file read, which exploits unsanitized path in schedule export. The module requires set of credentials of Pretalx user and Pretalx needs to have existing conference, where the attacker can submit malicious proposal.
Installation steps:
git clone https://github.com/pretalx/pretalx-docker.gitdocker-compose.ymlto following:sudo docker-compose uporga/event/orga/event/[conference name]/schedule/rooms/orga/event/[conference name]/sudo docker exec -u 0 -it pretalx /bin/bash/datafolder, sopretalxuser can write export thereVerification Steps
use auxiliary/scanner/http/pretalx_file_read_cve_2023_28459set CONFERENCE_NAME [conference name]set USERNAME [username]set PASSWORD [password]set RHOSTS [target IP address]runOptions
CONFERENCE_NAME
The slug (shortcut) name of the conference. The module requires existing conference, where an attacker can submit malicious proposal (e.g. conference-secret-2025)
FILEPATH
Absolute path to the target file.
MEDIA_URL
Pretalx uses path to
mediafolder, which is used as prepend to target file path to achieve arbitrary file read. The default value is/media, however, it can be modified by user.USERNAME
Username of Pretalx user that can approve proposals and release schedule.
PASSWORD
Password of Pretalx user that can approve proposals and release schedule.
Scenarios