We take security seriously and appreciate responsible disclosures. If you believe you've found a vulnerability, please follow the process below.
- Supported Versions
- Reporting a Vulnerability
- Our Process & Timelines
- Severity Guidance
- Coordinated Disclosure
- Scope
- Non-qualifying Reports
- Questions
We provide security fixes for the latest stable release line and the main branch.
| Version | Status |
|---|---|
main |
Active development |
1.0.x |
Supported (security fixes) |
< 1.0.0 |
Not supported |
Note We strongly recommend running the latest stable
1.xrelease before reporting issues. Older1.xpatch versions may miss recently fixed vulnerabilities.
Do not open a public issue.
Use one of the following private disclosure channels:
Use GitHub's private vulnerability reporting: Report a vulnerability
Send details to baris.sayli@gmail.com with the subject prefix SECURITY: <short summary>.
Please include:
- A clear description of the issue and its potential impact
- A minimal proof-of-concept (PoC) or reproduction steps
- Affected version(s) (tag or commit hash)
- Environment details if relevant
- Suggested remediation ideas (optional but welcome)
We aim to handle reports responsibly, transparently, and without unnecessary delay.
- Acknowledgement: within 72 hours
- Initial triage: within 7 days
- Fix timeline: depends on severity (see Severity Guidance)
- Release: fixes are published once validated
For sensitive issues, coordinated disclosure may be used. Reporters are kept informed at key milestones.
We follow a pragmatic, CVSS-inspired classification. Severity directly influences prioritization and release timing.
- Remote code execution
- Unsafe deserialization leading to RCE
- Authentication/authorization bypass in generated code
Target fix: within 30 days
- Arbitrary file write/read
- Contract bypass enabling unsafe execution paths
- Significant information disclosure
Target fix: within 30 days
- Schema manipulation leading to incorrect client/server behavior
- DoS within bounded system scope
- Minor information disclosure
Target fix: within 90 days
- Hardening gaps
- Misconfigurations
- Edge-case misuse without realistic exploit chain
Target fix: planned for next release cycle
- We prefer coordinated disclosure
- Please do not share details publicly before a fix is released
- Reporters may be credited in release notes upon request
This repository is a platform, not an application. Security concerns are evaluated across the full platform chain.
User-facing entry points:
openapi-generics-server-starter(server side) — Spring Boot integration, contract → OpenAPI projectionopenapi-generics-java-codegen-parent(client side) — generator configuration, templates, and build wiring
Transitively pulled (part of the runtime and generation chain):
openapi-generics-contract— core shared model,ServiceResponse<T>semantics, pagination (Page,Meta), error model (RFC 9457)openapi-generics-java-codegen— generator implementation, template behavior, type mapping and suppression logic
Consumers typically depend on only one entry point directly. The rest is pulled transitively, so security must be evaluated across the full chain.
Security-relevant areas:
- Misalignment between contract, OpenAPI projection, and generated code
- Contract violations or ambiguity (
ServiceResponse<T>semantics) - Incorrect schema projection (server → OpenAPI)
- Incorrect code generation (OpenAPI → client)
- Template-level behavior and transformation rules
- Loss of determinism between contract, spec, and generated code
- Example or sample applications outside the core platform
- Vulnerabilities caused solely by third-party dependencies (report upstream first)
- Deployment-specific misconfigurations
- Runtime environment issues unrelated to the platform itself
To keep focus on impactful issues, we generally exclude:
- Best-practice recommendations without a realistic exploit scenario
- Generic rate-limiting or DoS claims without a concrete attack vector
- Missing headers or hardening suggestions in non-production contexts
- Social engineering or physical attack scenarios
Vulnerabilities found in generated code alone (without a corresponding template or generator flaw) are generally considered:
- Upstream issues — report to OpenAPI Generator
- Consumer issues — how the generated code is used in the consumer's application
We will investigate if the generated code issue traces back to:
- Our template patches
- Our custom codegen implementation
- Contract-level semantic misalignment
Important Generated code is treated as disposable output. Security fixes must target contracts, templates, or generators, not generated artifacts.
If you're unsure whether something qualifies as a security issue, contact baris.sayli@gmail.com.
We're happy to help triage before a formal report.
Thank you for helping keep the platform and its users safe.
Security, like API contracts, must be enforced at system boundaries — not patched after the fact.