Outstanding Teaching Assistant Award · Syracuse University
University-wide recognition from the Graduate School for teaching excellence in CSE.486 Design of Operating Systems — nominated by Prof. Endadul Hoque.
I'm Shivam Kumar, a PhD student in Computer Science at Syracuse University, advised by Prof. Endadul Hoque in the SYNE Lab. I build automated tools — fuzzers — that uncover security bugs in the Linux kernel.
I research system security with a focus on fuzzing for software vulnerability discovery. I design automated, grammar-driven tools that surface memory-safety and concurrency bugs in the Linux kernel, then work them through to upstream fixes.
Before my PhD I spent over three years at Wipro in ServiceNow development and GRC solutions.
Vulnerabilities discovered, reported, and patched in the upstream Linux kernel. Ordered by severity.
nvmet-tcp · out-of-bounds write
nvmet_tcp_try_recv_pdu() derived the remaining payload length from
the attacker-supplied header without bounding it against the 128-byte
queue->pdu union. With a header digest negotiated, a second ICReq
drives a write four bytes past the end of the buffer, letting a remote
unauthenticated host corrupt adjacent kernel memory before the duplicate is
rejected.
nvmet-tcp · use-after-free
When a data digest mismatch occurs on a non-final H2C_DATA PDU during an
R2T-based transfer, the digest error handler drops the queue reference without
marking the command complete — leaving it to be uninitialized a second time
during teardown, a double percpu_ref_put() against a single
percpu_ref_get().
nvmet-tcp · refcount underflow
In the digest error path, nvmet_req_uninit() was called
unconditionally even when nvmet_req_init() had already failed and
never taken a reference — causing a percpu_ref underflow, a
use-after-free diagnostic, and a permanent workqueue deadlock.
nvmet-tcp · race condition
A race between ICReq handling and queue teardown allows a double
kref_put() on an already-released queue — remotely triggerable
without authentication.
nvmet-tcp · unsolicited H2CData PDU
nvmet_tcp_handle_h2c_data_pdu() validated only the TTAG, never that
the target had actually solicited the data with an R2T. Sending H2CData ahead of
the R2T completes a write command early, and a synchronous failure completes it
again — the same command lands on resp_list twice, producing a
self-referential llist node that trips a list_add BUG or wedges the
nvmet_tcp workqueue.
nvme-tcp · NULL pointer dereference
A NULL pointer dereference triggered by out-of-order H2C_DATA PDUs, crashing storage servers remotely without authentication. Patched in mainline and backported to six stable releases.
University-wide recognition from the Graduate School for teaching excellence in CSE.486 Design of Operating Systems — nominated by Prof. Endadul Hoque.
“Student Discovers Key Security Vulnerability in Commonly Used Operating System” — a feature on my discovery of a security vulnerability in the Linux kernel and the SYNE Lab's work building tools that automatically find such bugs.
Security research on the Linux kernel — designing automated fuzzing tools for vulnerability discovery across kernel subsystems.
Led lab sessions, designed assignments, and graded coursework for CSE.486 Design Operating Systems across two semesters (Fall 2025 & Spring 2026).
High Performance Computing research using C, MPI, and OpenMP — contributing to projects in parallel computing and system optimization.
Led ServiceNow GRC implementations, custom applications, and API integrations for enterprise clients.
Developed ServiceNow applications with JavaScript and Python, and implemented workflow automation.
Remote internship with exposure to enterprise software development and business processes.