| Version | Supported |
|---|---|
| 7.5.x | ✅ |
| < 7.5 | ❌ |
Only the latest release on the main branch receives security fixes.
Mellivora OS is a bare-metal educational operating system that runs directly on hardware (or QEMU). It includes a full TCP/IP networking stack (RTL8139 NIC driver, ARP, IPv4, ICMP, UDP, TCP, DHCP, DNS) and has no user authentication. Security concerns include:
- Buffer overflows in kernel or shell code that could corrupt memory or escalate privilege (Ring 3 → Ring 0)
- Network stack vulnerabilities — malformed packets, integer overflows in protocol parsers, or boundary errors in the BSD-style socket API (8 simultaneous sockets)
- Filesystem integrity issues in HBFS that could cause data loss or corruption
- Build chain safety — ensuring the Makefile, Python scripts, and tooling don't introduce vulnerabilities
- Syscall boundary validation — ensuring user-mode programs cannot pass invalid pointers or sizes to kernel syscalls
If you discover a security issue, please report it responsibly:
- Do NOT open a public GitHub issue for security vulnerabilities.
- Use GitHub's private vulnerability reporting: Report a vulnerability
- Include:
- Description of the vulnerability
- Steps to reproduce (assembly snippet, shell command, or disk image)
- Impact assessment (crash, memory corruption, privilege escalation, data loss)
- Suggested fix if you have one
- Acknowledgment: Within 72 hours
- Assessment: Within 1 week
- Fix release: As soon as practical, typically within 2 weeks for confirmed issues
The project actively hardens its codebase. Recent examples:
- v7.3: Fixed black-screen hang in VBE games caused by missing
VBE_GAME_PRESENTcall; removed redundantKEY_UP/KEY_DOWN/KEY_LEFT/KEY_RIGHT%ifndefguards invbe_game.incthat caused inconsistent redefinition errors - v7.0: Shell prompt placement fix —
vga_cursor_xis checked before emitting prompt to prevent output corruption at column boundaries - v6.5:
audio.incandhighscore.inclibraries validated for bounds on score path construction;hs_updateonly writes when candidate beats stored value - v6.1: VBE UI library (
vbe_ui.inc) introduced with input-length guards on modal and text-input widgets - Earlier: Fixed
build_cwd_pathbuffer overflow, added boundedcopy_word_n, ATA retry wrappers with soft reset, HBFS error propagation with carry flag, nested batch execution guard, superblockfree_blocksconsistency tracking