Proof of work

Security research & responsible disclosure

Vulnerabilities I found in production systems belonging to a federal agency, a university and a fintech platform. Every one was reported privately to the organisation that owned the risk, before anyone else heard about it. What follows are high-level summaries published after disclosure.

How I handle a finding

Access is never the point. The fix is. Every engagement runs on the same three rules, whether the owner runs a bug bounty or has never received a report before.

  1. 01

    Minimum necessary access

    Enough evidence to prove the flaw exists, and not one record more. Nothing is retained, copied or shared.

  2. 02

    Private report first

    The affected organisation, or the relevant national CERT, hears about it before anyone else, with a clear remediation path attached.

  3. 03

    Publish only what is safe

    Case studies go live after remediation and describe class and impact, never endpoints, payloads or steps another person could follow.

CRITICALBroken access control (IDOR)

Corporate Affairs Commission (CAC)

Electronic Document Management System

A document-retrieval path in the Commission's Electronic Document Management System served corporate records without verifying that the requester was entitled to them. Because document identifiers were sequential and no authorisation check stood in front of the response, the exposure was not limited to a single record. It was systemic.

WHAT WAS AT RISK

  • Corporate registration and incorporation documents
  • Identity documents belonging to company directors
  • Signed corporate resolutions and constitutional documents

IMPACT IF EXPLOITED

Identity theft, corporate impersonation and business fraud at national scale, because the registry underpins company verification across the Nigerian economy.

DISCLOSURE TIMELINE

  1. 10 Dec 2025I report the finding to Nigeria's national CERT, with full technical detail supplied on request.
  2. 10 Dec 2025ngCERT opens incident ticket ngCERT/zJgH/2025 and begins investigation.
  3. 12 Dec 2025ngCERT confirms it successfully validated the vulnerability and commits to remediation of the affected endpoint.

I reported it alongside remediation guidance: authentication middleware on document routes, document-level access control lists, rate limiting, audit logging, and a wider review of the platform's session management.

REPORTED
10 December 2025
CHANNEL
ngCERT (NCCC / ONSA)
TICKET
ngCERT/zJgH/2025
VALIDATED
12 December 2025
SCOPE
21M+ registered entities
STATUS
Validated, remediation committed
CRITICALUnauthorised access to student data

Miva Open University

University learning platform

A critical flaw on the university's platform placed student data privacy at risk. Rather than probe further, I escalated it immediately and contacted the university's Chief Technology Officer to establish a secure disclosure channel before any detail changed hands.

WHAT WAS AT RISK

  • Personal data belonging to enrolled students

IMPACT IF EXPLOITED

Privacy violation for the student body, with downstream exposure of personal information held by the institution.

DISCLOSURE TIMELINE

  1. 17 Oct 2025I request a secure channel from the university's CTO and send a detailed written report the same evening.
  2. 17 Oct 2025Report acknowledged and routed internally; the university thanks me on behalf of the institution.
  3. 29 Oct 2025Bug bounty paid, closing a first responsible-disclosure engagement cleanly on both sides.

A textbook coordinated disclosure: a named owner, a private channel, a fast acknowledgement, and a reward. Exactly the process every organisation should be able to run.

REPORTED
17 October 2025
CHANNEL
Direct to the university CTO
ACKNOWLEDGED
Same day
OUTCOME
Bug bounty awarded
STATUS
Resolved
CRITICALBroken access control, account data disclosure

BillPoint

B-Lord Group fintech application

An account lookup on the BillPoint payment platform returned a user's full profile to anyone who supplied their email address. There was no check that the requester owned the account being looked up, so a single known email address was enough to read that customer's contact details and financial position. Since an email address is not a secret, every registered account was effectively queryable by anyone who knew, or guessed, the address attached to it.

WHAT WAS AT RISK

  • Account holder email address and phone number
  • Wallet and account balance information
  • Profile details tied to a registered payment account

IMPACT IF EXPLOITED

Targeted fraud and social engineering against named customers. Knowing a person's balance alongside their phone number turns a generic scam into a convincing, personalised approach, and on a payment platform that is the precondition for account takeover.

DISCLOSURE TIMELINE

  1. Oct 2024I identify that an account lookup responds to an email address without verifying the requester owns that account.
  2. Oct 2024I confirm the scope against my own account only, then stop and report privately to the BillPoint product team.

This is the flaw class people underestimate most. No exploit chain, no clever payload, just an endpoint that answered a question it should have refused to answer. On a fintech product it is also the most costly, because the data it hands over is exactly what a fraudster needs to sound legitimate.

REPORTED
October 2024
SECTOR
Payments / fintech
CHANNEL
Direct to the product team
TRIGGER
Email address alone
STATUS
Reported privately
Ethics

What you will never find on this page

No vulnerable endpoints. No request payloads. No identifiers, screenshots of real records, or reproduction steps. No data taken from any system, in any form. The point of publishing research is to show judgement, not to hand anyone a map.

Reporting something in one of my own projects? security@ndemafiawilsmith.com

Available for work

Have a system worth protecting, or one worth building?

Security assessments, responsible disclosure and full-stack engineering. Tell me what you are working on.