What a Secure On-Screen Marking Platform Looks Like: Lessons from CBSE OSM's Disclosed Vulnerabilities
A security researcher recently disclosed five critical flaws in CBSE's On-Screen Marking portal — hardcoded passwords, client-side OTP checks, missing route guards, IDOR. Here's what each flaw means, and the architectural choices that prevent them in a properly built OSM.

A Public Disclosure That Every OSM Buyer Should Read
In May 2026, an independent security researcher published a write-up titled *Hacking CBSE* detailing five distinct vulnerabilities found in the Central Board of Secondary Education's On-Screen Marking (OSM) portal — the system used to evaluate Class 12 board exams for over 18.5 lakh students. (Original disclosure)
The findings were not theoretical. The researcher demonstrated full account takeover and the ability to navigate evaluator dashboards using credentials extracted from a publicly-served JavaScript bundle. Mark editing — the integrity-critical action OSM exists to protect — was reachable.
This post is not about CBSE. It is about a category of mistakes that any institution procuring an OSM platform should know how to recognize, and the architectural choices a well-built OSM makes to avoid each one. We'll walk through the five disclosed flaws and contrast them with how MAPLES OSM is designed.
Flaw 1: Hardcoded Master Password in the JavaScript Bundle
What was disclosed: A plaintext master password was embedded in the OSM portal's client-side JavaScript. Anyone who opened browser DevTools could read it. Combined with a target's user ID and school code, it bypassed the entire authentication flow.
Why this happens: It is the easiest possible shortcut for a development team under deadline pressure. A "debug" or "support" backdoor gets added for internal testing and never removed. The JavaScript bundle is treated as if it were server-side code — but anything shipped to the browser is public.
The architectural rule that prevents it: *No secret of any kind belongs in client-side code.* Not a password, not an API key, not a signing secret, not a "support override." If the browser receives it, attackers receive it.
How MAPLES OSM handles authentication:
Flaw 2: Client-Side OTP Validation
What was disclosed: The CBSE portal's server returned the OTP itself inside the authentication response. The browser then compared what the user typed against the OTP it had received. The "secret" was visible in the network tab.
Why this is catastrophic: OTP exists to prove possession of a second channel (a phone, an email inbox). If the OTP is sent to the browser, the second-channel assumption is gone — the browser is the channel. Anyone watching the network response holds the OTP.
The architectural rule: *Secrets are verified on the server. The client never receives the answer key.* The browser sends the user's input; the server compares it against its own stored value and replies only with success or failure.
How MAPLES OSM handles it:
Flaw 3: Missing Route Guards
What was disclosed: The CBSE portal is built in Angular. Sensitive routes — /dashboard, /profile, /evalscriptsview — had no canActivate guards. By writing fake values into browser local storage and navigating directly, the researcher could load evaluator screens without ever authenticating.
Why this is a misunderstanding of how web security works: A client-side route guard is not a security boundary. Even with guards, a determined attacker can patch the JavaScript. The real boundary is the API. Every API call must independently verify the session — the UI cannot be trusted to gatekeep anything.
The architectural rule: *The browser is hostile territory. Authorization belongs on every server-side endpoint, not on the page transition.*
How MAPLES OSM handles it:
Flaw 4: Password Change Without Verifying the Current Password
What was disclosed: The CBSE password-change API accepted a new password and a user ID — nothing else. It never asked for the current password and never verified that the request came from the legitimate session owner.
Why this is dangerous in combination: This flaw alone allowed permanent account takeover. Combined with flaw 5 (trusting client-supplied user IDs), an attacker could change the password of *any* user on the system.
The architectural rule: *Identity-changing actions require re-authentication. Always.*
How MAPLES OSM handles it:
Flaw 5: Systemic IDOR — Trusting Client-Supplied User IDs
What was disclosed: Across "practically every POST request," the CBSE backend used a user ID that the client sent in the request body. This is an Insecure Direct Object Reference (IDOR) pattern. Change the ID in the request, act as anyone.
Why this is the deepest flaw: The other four are individual coding mistakes. This one is architectural. It says the backend was built without a clear model of "who is this request actually from?" — the system trusted the browser to tell the truth.
The architectural rule: *The identity of the caller is established by the server from the session, never by anything the client sends. User-supplied IDs are treated as untrusted parameters and authorized against the session identity on every call.*
How MAPLES OSM handles it:
The New Threat: Autonomous AI Agents Can Now Execute These Attacks at Scale
The CBSE disclosure was the work of a single researcher who manually inspected JavaScript bundles and reasoned through the authentication flow. That kind of analysis used to take weeks. As of April 2026, it takes minutes.
Anthropic's Claude Mythos model — evaluated publicly by the UK AI Safety Institute and METR earlier this year — demonstrated the ability to autonomously complete 16-hour engineering tasks without human supervision, scored 73% on expert-level capture-the-flag security challenges, and became the first model to successfully execute "The Last Ones," a 32-step corporate network takeover simulation, from start to finish.
What this means in practice for OSM platforms:
This raises the bar for every platform that holds high-integrity data — and OSM platforms hold some of the highest-integrity data in the education system. "Security by obscurity" or "nobody will bother attacking us" was never a real defense; in mid-2026, it is actively dangerous.
How MAPLES OSM Mitigates the Autonomous-Agent Threat Model
We assume from the start that an attacker has unlimited automated reconnaissance capability. Our defenses are designed to fail safely even when an attacker knows everything about the system except its server-side state:
Cloudflare: Our Perimeter Defense Against Automated Attacks
MAPLES OSM sits behind Cloudflare for every customer-facing surface — the public site, the evaluator portal, and the administrative APIs. This is not branding; it is a deliberate architectural choice for a specific threat model.
What Cloudflare gives us in front of the application:
The practical effect: even before a request reaches the MAPLES OSM application, it has already been filtered, rate-limited, and fingerprinted. The autonomous attacker described above does not get to scan our endpoints at will — most of their reconnaissance traffic is dropped or challenged at the edge, and what remains is logged for review.
This layered approach — Cloudflare at the edge, hardened application architecture behind it, and immutable audit trails throughout — is how a modern OSM platform should be deployed. Any one layer can be bypassed by a sufficiently capable attacker; the combination is what makes the platform safe at scale.
What This Means for Institutions Choosing an OSM Platform
When the integrity of board examinations rests on a software platform, "the vendor passed UAT" is not enough. UAT confirms that features work — it does not catch missing route guards, hardcoded credentials in bundles, or IDOR patterns. Those require a different kind of review.
If you are evaluating OSM vendors, ask the following:
How MAPLES OSM Approaches Security as Architecture
Security in OSM is not a checklist of features added at the end. It is a set of architectural choices made before the first line of code — about where identity lives, what the browser is trusted with, and how every action is logged.
Our platform is built on these principles:
The disclosure about CBSE's portal is a reminder that OSM is not a UI-with-a-database. It is a high-integrity workflow system that holds career-defining outcomes for millions of students. The architecture has to match the stakes.
Further Reading
Ready to digitize your evaluation process?
See how MAPLES OSM can transform exam evaluation at your institution.