| 제목 | Public Knowledge Project ojs, pkp-lib 3.5.0 Predictable API Key Generation |
|---|
| 설명 | When a user generates an API key via their profile settings, the key is
computed as:
$user->setData('apiKey', sha1(time()));
sha1(time()) produces a 40-character hex string seeded by the current Unix
timestamp — a sequential integer with at most ~31.4 bits of entropy over a
30-day window (2,592,000 candidates). An attacker who knows the approximate
date the key was generated can recover it through brute-force in under 2
seconds of SHA1 computation, then construct a valid HS256 JWT and authenticate
against the REST API as the target user without their password. |
|---|
| 원천 | ⚠️ https://github.com/pkp/pkp-lib/issues/12951 |
|---|
| 사용자 | Razielx64 (UID 97461) |
|---|
| 제출 | 2026. 06. 26. PM 03:00 (2 개월 ago) |
|---|
| 모더레이션 | 2026. 08. 14. PM 09:48 (2 months later) |
|---|
| 상태 | 수락 |
|---|
| VulDB 항목 | 390119 [pkp pkp-lib 3.3.0/3.4.0/3.5.0 API Key Generation APIProfileForm.php setData apiKey 약한 암호화] |
|---|
| 포인트들 | 20 |
|---|