mirror of
https://github.com/spiral-project/ihatemoney.git
synced 2025-04-29 09:52:36 +02:00
Fix unauthorized access and modification of project data (CVE-2020-15120)
An authenticated member of one project can modify and delete members of another project, without knowledge of this other project's private code. This can be further exploited to access all bills of another project without knowledge of this other project's private code. With the default configuration, anybody is allowed to create a new project. An attacker can create a new project and then use it to become authenticated and exploit this flaw. As such, the exposure is similar to an unauthenticated attack, because it is trivial to become authenticated. This issue was caused by a wrong database queries in PersonQuery. For more details, see https://github.com/spiral-project/ihatemoney/security/advisories/GHSA-67j9-c52g-w2q9
This commit is contained in:
parent
040d76af83
commit
8d77cf5d56
1 changed files with 2 additions and 2 deletions
|
@ -380,7 +380,7 @@ class Person(db.Model):
|
|||
def get_by_name(self, name, project):
|
||||
return (
|
||||
Person.query.filter(Person.name == name)
|
||||
.filter(Project.id == project.id)
|
||||
.filter(Person.project_id == project.id)
|
||||
.one()
|
||||
)
|
||||
|
||||
|
@ -389,7 +389,7 @@ class Person(db.Model):
|
|||
project = g.project
|
||||
return (
|
||||
Person.query.filter(Person.id == id)
|
||||
.filter(Project.id == project.id)
|
||||
.filter(Person.project_id == project.id)
|
||||
.one()
|
||||
)
|
||||
|
||||
|
|
Loading…
Reference in a new issue