Academic surface worth stress-testing
UPM Study Portal serves as the central digital gateway for thousands of students and staff across Universiti Putra Malaysia — handling authentication, enrollment, fee processing, grade management, hostel allocations, and administrative workflows. The platform exposes a wide range of interconnected services: REST/GraphQL APIs, SSO endpoints (SAML, OAuth), payment redirections, file upload and attachment handling, LMS integrations, library search, exam timetabling, research repositories, and real-time notifications. Each of these integrations is a potential pivot point for privilege escalation, mass PII exfiltration, or payment manipulation — and every validated critical earns exactly $5,000 USD.
In scope: study.upm.edu.my and all UPM-operated hosts, services, APIs, bots, signing services, staging shards, mobile app endpoints, integrations, and partner callback surfaces.
Legal floor: financial crime, harassment, facilitating academic dishonesty — always off-limits; bounty is for defensive security research in coordination with UPM’s published disclosure channels.
Why probe the UPM portal?
A Malaysian educational portal processes tens of thousands of PII records, real-money fee transactions, and privileged academic decisions daily. Any breach that chains across these surfaces can expose students and staff to irreversible harm — which is exactly why $5,000 per validated critical exists.
PII blast radius
Student full names, IC numbers, addresses, parent contact details, academic records, financial aid data — chained bugs often expose PII silently until someone maps them.
No fake micro-scope list
If UPM can patch/configure it — from portal JS to infra config — testers can escalate until severity lands or triage shuts with reasoning.
Responsible disclosure halo
Demonstrated exploits with airtight chains earn coordinated publication credit after fixes ship.
$5,000 per validated critical
There is exactly one bounty amount on this ledger: validated critical findings pay $5,000 USD each. Novel low-severity items may qualify for goodwill credit but not this stipend. Paid rows require attacker-readable kill chains and replayable exploitation artefacts (Burp exports, parallel request harnesses, SSO token forgeries, signing traces…).
Unauthorized access to or modification of student/staff records at scale; SSO bypass granting admin-level access across UPM’s portfolio; payment gateway manipulation causing silent fee reroute; mass PII exfiltration of academic or personal data; persisted RCE in portal or LMS control plane; break-glass access to signing keys or database credentials.
- Cross-user grade/transcript manipulation, enrollment logic desync, or duplicate credit
- Payment callback abuse causing silent fee reroute or duplicate credit at scale
- Break-glass SSRF egress from UPM infra to lateral cloud or on-premise systems
Illustrative map (non-exhaustive)
These rows do not impose limits — they’re shorthand for tagging reports. Anything UPM hosts, signs, proxies, parses, verifies, or integrates counts as bounty ground even if undocumented here. Treat “not listed” ≠ “out-of-scope”: default stance is open scope across UPM’s digital perimeter.
| Surface | Class | Critical payout |
|---|---|---|
study.upm.edu.my, portal HTML/JS/CSS, mobile endpoints, *.upm.edu.my |
Web · CDN | $5,000 / validated bug |
| Student APIs, LMS integrations (e.g. e-learning), SSO endpoints (SAML, OAuth, session cookies) | Backend | $5,000 / validated bug |
| Fee payment gateway, checkout redirects, receipt generation, financial aid systems | Payments | $5,000 / validated bug |
| Enrollment, hostel booking, exam scheduling, transcript delivery systems | Academic | $5,000 / validated bug |
| Library search, repository APIs, research grants management | Library | $5,000 / validated bug |
| Admin dashboards, staff portals, management consoles | Admin | $5,000 / validated bug |
| Mobile app endpoints, notification services, WebSocket feeds | Mobile | $5,000 / validated bug |
| Partner integrations, callback receivers, webhook processors, file upload handlers | Integrations | $5,000 / validated bug |
| Hosting infrastructure, edge config, CDN config, DNS management panels | Infra | $5,000 / validated bug |
Full-scope policy — no “oops, shrink-wrapped” appendix
UPM’s bounty refuses the industry habit of publishing a fat scope table and a quiet appendix that exfiltrates half the platform as “out-of-scope” third-party dependencies. The only exclusions are universal legal/ethical bright lines:
- No crimes (unauthorized access to unrelated third-party systems via UPM as a vector still counts).
- No intentional harm to unrelated civilians or students (proof-of-concept on test accounts).
- No academic dishonesty facilitation (grade manipulation PoC is fine; leaking real transcripts is destructive).
If UPM touches it technically — even an undocumented microservice that only appears in a HAR trace — it’s bounty-eligible until triage rules it out.
Rules of engagement
- Prove exploitation success. Provide scripts, HARs, parallel request captures, or signing traces showing data/state impact — not paper analysis alone.
- Number your hops. Session/API primitive → escalation → grade/payment/record integrity break.
- Minimize real-user blast radius. Prefer mirrors, low-value accounts, and reversible payloads when demonstrating theft-class bugs.
- Private coordination first. Use official intake on study.upm.edu.my before public threads.
- Duplicate fairness. First qualifying PoC wins; followers close acknowledged-only.
How to submit a report
Use the security / vulnerability disclosure contact published on https://study.upm.edu.my/ (security@upm.edu.my is a common guess — verify on the live site before emailing). Template below.
# Title
[Critical][Exploit-Proven] <tight title>
# Executive summary — student/staff or financial impact in one paragraph
# Kill chain (numbered steps)
1. <session acquisition / API discovery>
2. <privilege escalation / boundary crossing>
3. <impact trigger that violates policy>
# Exploitation evidence
• HAR / PCAP / Burp export with annotations
• Reproduced-with-script showing cross-user data access
• Signing or token trace if SSO/crypto primitive involved
# Remediation suggestion (optional but appreciated)
• Short description of expected fix orientation
# Attachments (zipped, <10 MB, no malware)
- PoC script.py, capture.har, logs/
Python vignette · pair with reproducible HTTPS exploit replay
Pseudocode illustrating an IDOR transcript access — meaningless without attaching HAR/logs proving an unauthorized request retrieves another student’s academic record inside UPM Study Portal.
# BUGGY: verifies only session presence, skips transcript ownership bind
import requests
BASE = "https://study.upm.edu.my/api/v1"
SESSION = "eyJhbGciOiJIUzI1NiIs..." # valid student session
def fetch_transcript(student_id):
resp = requests.get(
f"{BASE}/transcripts/{student_id}",
headers={"Cookie": f"upm_session={SESSION}"}
)
return resp.json()
# MISSING: server-side check that session.student_id == requested student_id
# attacker iterates student_id → exfiltrates arbitrary academic records
for i in range(S1234001, S1234500):
data = fetch_transcript(i)
if "cgpa" in data:
print(i, data["cgpa"])
Frequently asked questions
Is anything actually “out of scope” besides illegal stuff?
No discretionary product carve-outs — only universal legal/ethical lines (crime, harming unrelated civilians, ransomware, facilitating academic dishonesty, etc.). If UPM hosts, proxies, signs, or documents a surface technically, testers can escalate until triage disqualifies specifics.
Do speculative write-ups without a working exploit get paid?
No. $5K critical payouts require both a complete kill-chain narrative and evidence of a successful attack path (replayable artifacts). Theory-only stays in triage backlog without compensation.
Are staging / dev environments fair game?
Yes whenever UPM labels or operates them.
Demonstrate realism by mirroring configs/data where possible.
Duplicates?
Fastest validated chain + reproducible exploitation wins treasury; follower tickets close acknowledged only.
Lower severities rewarded?
Not under this $5K-flat critical playbook — escalate impact until it meets critical thresholds or accept non-monetary acknowledgement.
Critical chain + working exploit = $5,000
No narrow scope appendix — document the attack, prove it lands, file privately.