Skip to content

Security: marellatrivikrama-ui/Library-System-

Security

SECURITY.md

Security Policy

Supported Versions

We currently provide security updates for the following versions of the Library Management System:

Version Supported
1.0.x ✅ Yes
< 1.0 ❌ No

Reporting a Vulnerability

We take the security of our library data seriously. If you find a security flaw, please do not report it through public GitHub issues. Instead, please follow this process:

  1. Email: Reach out to the maintainer at [insert-your-email-or-contact].
  2. Details: Include a detailed description of the vulnerability and steps to reproduce it.
  3. Response: You will receive an acknowledgment within 48 hours.
  4. Disclosure: We ask that you follow "Responsible Disclosure"—give us a reasonable amount of time to fix the issue before making it public.

Security Architecture Notes

1. Data Persistence

The system uses Java Object Serialization to store data in library_store.dat.

  • Risk: Serialized files can be tampered with outside the application.
  • Mitigation: Ensure that the .dat file has restricted OS-level permissions so only the user running the application can read/write to it.

2. Input Sanitization

The system utilizes Scanner.nextLine() for all inputs.

  • Current logic prevents Buffer Overflow risks common in lower-level languages like C++.
  • Future updates aim to include Regex Validation for Member IDs and Book IDs to prevent specialized character injection.

3. Local Execution

This is a desktop-based application. It does not open any network ports, significantly reducing the attack surface against remote exploits.

Best Practices for Users

  • File Integrity: Do not attempt to manually edit the library_store.dat file in a hex editor, as this may lead to InvalidClassException or data corruption.
  • Java Runtime: Always run this application using a stable, updated version of the Java Runtime Environment (JRE) to benefit from the latest security patches.

There aren't any published security advisories