chore(renovate): Security update Update dependency nocodb to v0.301.0 [SECURITY]#13058
Open
renovate[bot] wants to merge 1 commit intodevelopfrom
Open
chore(renovate): Security update Update dependency nocodb to v0.301.0 [SECURITY]#13058renovate[bot] wants to merge 1 commit intodevelopfrom
renovate[bot] wants to merge 1 commit intodevelopfrom
Conversation
62109a9 to
4ac0811
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.264.8→0.301.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
GitHub Vulnerability Alerts
CVE-2026-24769
Summary
A stored Cross-site Scripting (XSS) vulnerability exists in NocoDB’s attachment handling mechanism. Authenticated users can upload malicious SVG files containing embedded JavaScript, which are later rendered inline and executed in the browsers of other users who view the attachment.
Because the malicious payload is stored server-side and executed under the application’s origin, successful exploitation can lead to account compromise, data exfiltration and unauthorized actions performed on behalf of affected users.
Vulnerability Details
NocoDB allows file attachments to be previewed inline based on their MIME type. Due to overly permissive MIME type checks and a lack of content sanitization, SVG files containing executable JavaScript are incorrectly treated as safe image content and rendered directly in the browser.
Root Cause
The vulnerability results from a combination of overly permissive MIME type classification and unsafe file serving behavior.
1. Permissive MIME Type Check
In
attachmentHelpers.ts, files are considered previewable if their MIME type contains certain substrings:This substring-based check (
includes) causes files with the MIME typeimage/svg+xmlto be classified as safe for inline preview. However, SVG is an XML-based format that supports executable JavaScript via<script>elements, event handlers, and external references.No additional validation or sanitization is performed on SVG content after this classification.
2. Unsafe Inline File Serving
Uploaded attachments are served by the
fileReadv3endpoint inattachments.controller.tswithout sanitization or content-type enforcement:The endpoint:
Content-Type(image/svg+xml)Content-Disposition: inlineAs a result, browsers render the SVG inline and execute any embedded JavaScript under the NocoDB application’s origin.
Impact
This is a stored XSS vulnerability that can be exploited by authenticated users with permission to upload attachments.
Potential impacts include:
Credit
This issue was discovered by an AI agent developed by the GitHub Security Lab and reviewed by GHSL team members @p- (Peter Stöckli) and @m-y-mo (Man Yue Mo).
CVE-2026-24768
Summary
An unvalidated redirect (open redirect) vulnerability exists in NocoDB’s login flow due to missing validation of the
continueAfterSignInparameter.During authentication, NocoDB processes a user-controlled redirect value and conditionally performs client-side navigation without enforcing any restrictions on the destination’s origin, domain or protocol. This allows at 10000 tackers to redirect authenticated users to arbitrary external websites after login.
Root Cause
The redirect logic relies on a permissive URL check that treats any absolute or protocol-relative URL as safe, and performs navigation without applying an allowlist or origin validation.
In the redirect plugin:
The helper function
isFullUrluses the following regular expression:/^(https?:)?\/\//This pattern matches any HTTP(S) URL as well as protocol-relative URLs (e.g.,
//evil.example), without restricting allowed domains.When the
continueAfterSignInquery parameter matches this pattern, the application performs an unconditional external navigation:Attack Scenario
An attacker can exploit this issue through a phishing attack:
The attacker crafts a malicious login URL containing a controlled redirect target, for example:
The victim clicks the link and is presented with the legitimate NocoDB login page.
The victim authenticates using valid credentials.
After login, NocoDB automatically redirects the victim to the attacker-controlled external site.
The attacker’s site displays a fake error message and prompts the victim to re-enter credentials.
The victim unknowingly submits credentials to the attacker.
Impact
This vulnerability enables phishing attacks by leveraging user trust in the legitimate NocoDB login flow. While it does not directly expose credentials or bypass authentication, it increases the likelihood of credential theft through social engineering.
The issue does not allow arbitrary code execution or privilege escalation, but it undermines authentication integrity.
Credit
This issue was discovered by an AI agent developed by the GitHub Security Lab and reviewed by GHSL team members @p- (Peter Stöckli) and @m-y-mo (Man Yue Mo).
CVE-2026-24767
Summary
A blind Server-Side Request Forgery (SSRF) vulnerability exists in the
uploadViaURLfunctionality due to an unprotectedHEADrequest. While the subsequent file retrieval logic correctly enforces SSRF protections, the initial metadata request executes without validation.This allows limited outbound requests to arbitrary URLs before SSRF controls are applied.
Vulnerability Details
The
uploadViaURL()function issues anaxios.head()request to retrieve metadata (content type, content length, and final URL after redirects). This request is performed without SSRF filtering.Although the actual file download is protected by request filtering, the initial
HEADrequest occurs prior to these checks and can be triggered with an attacker-controlled URL.Vulnerable Code
Impact
The impact of this issue is limited due to the following constraints:
HEADrequests are affected (no response body is returned)However, the vulnerability may still allow:
HEADrequestsHEADrequestsThis issue does not provide arbitrary data access or full internal network compromise on its own.
Severity
Moderate
The vulnerability is limited in scope and impact:
HEADrequests are affectedWhile the issue permits blind outbound requests to attacker-controlled URLs, it does not enable direct data exfiltration or full internal network compromise on its own.
Proof of Concept
This request causes the server to issue an unfiltered
HEADrequest before SSRF protections are applied.Acknowledgements
This issue was first identified and responsibly disclosed by Faizan Raza of Kolega.dev as part of a security assessment using Kolega.dev Deep Code Scan, including validation and fix recommendations.
NocoDB also acknowledges Neel B for independently reporting the same issue prior to publication.
NocoDB thanks Kolega.dev for their contribution to improving the security posture of the project.
CVE-2026-24766
Summary
An authenticated user with org-level-creator permissions can exploit prototype pollution in the
/api/v2/meta/connection/testendpoint, causing all database write operations to fail application-wide until server restart.While the pollution technically bypasses SUPER_ADMIN authorization checks, no practical privileged actions can be performed because database operations fail immediately after pollution.
Details
The
deepMerge()function inpackages/nocodb/src/utils/dataUtils.tsdoes not sanitize the following keys: (__proto__,constructor,prototype):The
testConnectionendpoint (packages/nocodb/src/controllers/utils.controller.ts) passes user-controlled input directly todeepMerge():When an attacker sends
{"__proto__": {"super": true}}, thesuperproperty is written toObject.prototype, affecting all plain objects in the Node.js process.Impact
Pollutes Object.prototype globally, breaking all subsequent database write operations for all users until process restart.
Release Notes
nocodb/nocodb (nocodb)
v0.301.0: : Darkmode, Custom Webhook Payload & Groupby AggregationsCompare Source
🌗 Dark Mode Is Here - Hooooooooooooray!!!!!!!!
Dark Mode has officially landed in NocoDB Community Edition. Sleeker, easier on the eyes, and built for long sessions—whether you’re shipping late at night or just love a modern dark UI. Every grid, form, and workflow now looks sharper and feels better, without changing how you work. Learn more
🔗 Webhook Payload Customisation ( 🔑 Unlocked from enterprise edition )
Total control, now unlocked. Webhook Custom Payloads are no longer Cloud-only—this powerful capability is now available in NocoDB Community Edition. Shape your webhook requests exactly the way your integrations need them. Cleaner payloads, smarter automations, and seamless connections with any external system. Learn more
📊 Grid View Group-by Aggregations ( 🔑 Unlocked from enterprise edition )
Data insights just leveled up. Group-by Aggregations are now open in NocoDB Community Edition, bringing Cloud-grade analytics straight into your views. Instantly roll up counts, totals, averages, and more—right inside grouped data. No exports. No extra tools. Just answers, instantly. Learn more
🛠️ Other Updates
Default view was locked to Grid: Tables always opened in Grid view, even when another view was more relevant. You can now set any view as the default for a table, ensuring users land directly on the most meaningful view.
Commenters and viewers had full toolbar access: Limited-access roles were exposed to advanced actions. Commenter and Viewer roles now work in a simplified interface without toolbar access, keeping the experience focused, secure, and role-appropriate.
Addressed several bug fixes and improved security.
📢 License Update
Starting with this release, NocoDB is transitioning its license from AGPL 3.0 to a Fair-code–based Sustainable Use License. This change is designed to protect the long-term sustainability of the project while keeping NocoDB open, transparent, and community-driven. The Fair-code model has resonated strongly across the open-source and no-code communities, with projects adopting this approach now collectively representing over 170,000+ GitHub stars : a signal that sustainable open-source business models are not just viable, but thriving. The new license continues to allow free use, modification, and self-hosting, while placing reasonable limits on commercial offerings.
👉 View the full license terms here
This step helps ensure that innovation in NocoDB is funded, maintained, and driven by the community for the long run.
Using base names and table names in API endpoints is no longer supported.
All API integrations must now use IDs instead of names.
Including names as part of API paths is highly discouraged, as names can be changed by other users, which may break existing integrations unexpectedly.
Before
http://localhost:8081/api/v1/db/data/noco/Getting%20Started/Table-1After
http://localhost:8081/api/v1/db/data/noco/pjq0r488d4gt2xz/mtan85lkqcvf8i7Bug fixes
branch duringpnpm bootstrap`` #12586v0.300.0Compare Source
v0.265.1: : Bug Fix ReleaseCompare Source
🐛 Closed Issues
What's Changed
New Contributors
Full Changelog: 0.265.0...0.265.1
v0.265.0: : Introducing MCP ServerCompare Source
🚀 NocoDB : Feature Release
MCP Server – Talk to your database through AI
No more endless clicks or filters. With MCP Server, your NocoDB workspace connects directly to AI-powered tools like Claude, Cursor, and Windsurf. Just ask in plain language, and your database answers back.
What’s Changed?
This is just the beginning—MCP opens the door for even deeper AI + database workflows coming soon.
👉 Get started with MCP integration →
Other Updates
File uploads needed a lot clicks: Adding attachments required multiple clicks and navigation steps. Now attachments can be dragged and dropped directly into attachment cells, making file uploads faster and more intuitive.
Group states would reset when switching views: Previously expanded groups would automatically collapse when you switched between views, forcing you to re-expand them repeatedly. Now group state (expanded/collapsed) is maintained locally per view, preserving your organization preferences.
No easy way to copy Base IDs for API usage: Developers needed Base IDs for API integration but had no quick way to access them. Added Base ID copy functionality to the base menu, following the same pattern as table, view, and field ID copying—providing quick access for API usage.
Mobile view editor was difficult to use: Mobile operations in form view has been improved, ensuring a better usage experience across all devices.
German users couldn't use local date formats: The system didn't support standard German date conventions. Added German Date Format Support for DD.MM.YYYY and DD.MM.YY, enabling proper display and input of dates in local conventions.
DATEADD formula was limited to days only: Time-based calculations requiring hours, minutes, or seconds weren't possible. Enhanced DATEADD formula now supports adding hours, minutes, and seconds, enabling more precise date-time calculations.
🐛 Closed Issues
What's Changed
Full Changelog: 0.264.9...0.265.0
v0.264.9: : Bug Fix ReleaseCompare Source
🐛 Closed Issues
searchPathspecified for Supabase - error: CREATE SCHEMA IF NOT EXISTS "n" AUTHORIZATION #11036Required fieldin the form view,Not Nullis not set by default for the column in the DB. #10154What's Changed
New Contributors
Full Changelog: 0.264.8...0.264.9
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.