Vendor Description
“SAP E-Recruiting” has recruitment and succession planning instruments that will help your company find new employees, employ them in positions that suit their capabilities, promote their professional development, and retain them in the long term.
As well as enabling you to handle your company’s applicant tracking activities, “SAP E-Recruiting” ensures that you drive up-to-date human resources management, by proactively maintaining contact with applicants, potential candidates, and consequently, with your employees.
Source: https://help.sap.com/saphelp_erp60_sp/helpdata/en/73/8bcf535b804808e10000000a174cb4/frameset.htm
Business Recommendation
Email address verification during the applicant registration can be bypassed. Businesses using the vulnerable component are advised to estimate the impact of insufficient email address verification on their business processes and react accordingly. It is recommended to install a patched version as soon as possible.
Vulnerability Overview/ Description
When an external applicant registers to the E-Recruiting application, he/she receives a link by email to confirm access to the provided email address. However, this measure can be bypassed and attackers can register and confirm email addresses that they do not have access to.
An attacker could register email addresses not belonging to him/her. This could have a business impact, because business processes might rely on a verified email address. Furthermore, since an email address can be registered only once, an attacker could prevent other legitimate users from registering to the
E-Recruiting application.
Proof Of Concept
The email verification link contains the “param” HTTP GET parameter with base64 encoded data. When decoded, this data contains the parameters “candidate_hrobject” and “corr_act_guid”. candidate_hrobject is an incremental user ID. corr_act_guid is a random value that needs to be provided during the email verification. However, this value is not bound to the current registration, which means that the value of a previous registration can be reused. Since candidate_hrobject is incremental, it can be guessed by an attacker. An attacker who wants to register with an email address not belonging to him/her, could simply do the following:
- Register with his own email address
- Directly afterwards register with someone else’s email address
- Read the current value of candidate_hrobject in the confirmation link from the first registration
- Increment this value by 1
- Send the new value in the HTTP GET request, use the corr_act_guidparameter from the first registration
- If this did not work: go back to step 4 to try the next ID (maybe other people registered in between the two registrations)
This attack works because there is no per-registration nonce in the confirmation link.
Vulnerable / Tested Versions
The vulnerability was found in the following release of E-Recruiting (ERECRUIT):
Release: 617
According to the vendor, the following versions are affected:
Release: 605, 606, 616, 617