| Version | Supported |
|---|---|
| 1.0.0 | ✅ |
| < 1.0.0 | ❌ |
We take the security of QBNex seriously. If you discover a security vulnerability, please follow these guidelines:
- Email: Send security reports to the project maintainer
- Include:
- Description of the vulnerability
- Steps to reproduce the issue
- Potential impact assessment
- Suggested fix (if applicable)
- Your contact information for follow-up
- Acknowledgment: Within 48 hours of report submission
- Initial Assessment: Within 7 days
- Fix Timeline: Depends on severity
- Critical: Within 7 days
- High: Within 14 days
- Medium: Within 30 days
- Low: Best effort in next release
- Reporter submits vulnerability details
- Maintainer acknowledges receipt and begins assessment
- Maintainer validates the vulnerability and determines impact
- Fix is developed and tested privately
- Security patch is released
- Public disclosure occurs after users have had reasonable time to update
QBNex compiles BASIC source code into native binaries. Consider the following:
- Source Code Validation: The compiler performs syntax validation but does not scan for malicious payloads in source code
- Generated Binaries: Compiled binaries execute with the permissions of the user running them
- System Access: QBNex programs can access files, network sockets, and system memory via PEEK/POKE
QBNex provides full file system access. Be aware:
- Programs can read, write, and delete files accessible to the user
- Always validate file paths before operations
- Be cautious with user-supplied file paths
- Directory traversal vulnerabilities are possible if not properly handled
TCP/IP networking support enables:
- Server sockets (
_OPENHOST) - Client connections (
_OPENCLIENT) - Data transmission over networks
Security recommendations:
- Validate all network input
- Use appropriate port ranges
- Be aware that network data is unencrypted by default
- Implement application-level security for sensitive data
Low-level memory access features:
PEEK/POKE: Direct memory accessDEF SEG: Memory segment controlVARPTR,VARSEG: Variable address exposureCALL ABSOLUTE: Execute machine code at specified addresses
Warning: These features can cause system instability or security breaches if misused. Use with extreme caution.
SHELL: Execute operating system commandsCHAIN: Load and execute other BASIC programs
These features provide OS-level access and should be used carefully with untrusted input.
QBNex relies on several third-party libraries:
- OpenGL/FreeGLUT: Graphics rendering
- GLEW: OpenGL extension loading
- miniaudio: Cross-platform audio output
- FreeType: TrueType font rendering
- STB Image: Image format loading
- Platform-specific libraries: ALSA (Linux), CoreAudio (macOS), WinMM (Windows)
We monitor these dependencies for security updates and incorporate patches as needed.
- Validate all input: Never trust user input or external data
- File path sanitization: Check for directory traversal attempts
- Network input validation: Verify all received data
- Error handling: Use proper error handling to prevent unexpected behavior
- Resource cleanup: Close files and network connections properly
- Avoid hardcoded paths: Use relative paths or configuration files
- Limit permissions: Run compiled programs with minimal necessary permissions
When distributing QBNex programs:
- Scan binaries: Use antivirus software before distribution
- Document permissions: Inform users of required system access
- Sign binaries: Consider code signing for Windows distributions
- Provide source: Open distribution allows verification
The QBNex compiler itself:
- Runs with user permissions only
- Does not require elevated privileges
- Generates self-contained binaries
- Can include source in output for transparency (
SaveExeWithSourcesetting)
- No built-in encryption for network communications
- No sandboxing or sandboxing support for compiled programs
- Direct memory access can bypass safety mechanisms
- File operations use OS-level permissions only
Security updates will be released as:
- Patch releases for critical vulnerabilities (e.g.,
1.0.1) - Minor releases for security feature additions (e.g.,
1.1.0)
All security-related changes will be documented in CHANGELOG.md.
We appreciate responsible disclosure from the security community and will credit reporters in security advisories (with permission).
Last Updated: April 11, 2024
Contact: For security concerns, contact the project maintainer through GitHub Issues (for non-sensitive matters) or email for sensitive vulnerabilities.