An authenticated project member with BCF import permissions can upload a crafted .bcf archive where the <Snapshot> value in markup.bcf is manipulated to contain an absolute or traversal local path (for example: /etc/passwd or ../../../../etc/passwd).
During import, this untrusted <Snapshot> value is used as file.path during attachment processing.
As a result, local filesystem content can be read outside the intended ZIP scope.
This results in an Arbitrary File Read (AFR) within the read permissions of the OpenProject application user.
Credits
This vulnerability was reported independently by users sam91281 and DQH1 as part of the YesWeHack.com OpenProject Bug Bounty program, sponsored by the European Commission.
An authenticated project member with BCF import permissions can upload a crafted
.bcfarchive where the<Snapshot>value inmarkup.bcfis manipulated to contain an absolute or traversal local path (for example:/etc/passwdor../../../../etc/passwd).During import, this untrusted
<Snapshot>value is used asfile.pathduring attachment processing.As a result, local filesystem content can be read outside the intended ZIP scope.
This results in an Arbitrary File Read (AFR) within the read permissions of the OpenProject application user.
Credits
This vulnerability was reported independently by users sam91281 and DQH1 as part of the YesWeHack.com OpenProject Bug Bounty program, sponsored by the European Commission.