Summary
Airtable.js had a misconfigured build script in its source package. When the build script is run, it would bundle environment variables into the build target of a transpiled bundle. Specifically, the AIRTABLE_API_KEY and AIRTABLE_ENDPOINT_URL environment variables are inserted during Browserify builds due to being referenced in Airtable.js code.
This only affects copies of Airtable.js built from its source, not those installed via npm or yarn.
Impact
Airtable API keys set in users’ environments via the AIRTABLE_API_KEY environment variable may be bundled into local copies of Airtable.js source code if all of the following conditions are met: 1) the user has cloned the Airtable.js source onto their machine, 2) the user runs the npm prepare
script, and 3) the user' has the AIRTABLE_API_KEY environment variable set. If these conditions are met, a user’s local build of Airtable.js would be modified to include the value of the AIRTABLE_API_KEY environment variable, which could then be accidentally shipped in the bundled code. Users who do not meet all three of these conditions are not impacted by this issue.
Recommendations
- Take one of the following steps:
a) Upgrade to Airtable.js version 0.11.6 or higher; or
b) Unset the AIRTABLE_API_KEY environment variable in your shell and/or remove it from your .bashrc, .zshrc, or other shell configuration files.
- Regenerate any Airtable API keys you use (via https://airtable.com/account), as they may be present in bundled code.
References
Fix commit
Summary
Airtable.js had a misconfigured build script in its source package. When the build script is run, it would bundle environment variables into the build target of a transpiled bundle. Specifically, the AIRTABLE_API_KEY and AIRTABLE_ENDPOINT_URL environment variables are inserted during Browserify builds due to being referenced in Airtable.js code.
This only affects copies of Airtable.js built from its source, not those installed via npm or yarn.
Impact
Airtable API keys set in users’ environments via the AIRTABLE_API_KEY environment variable may be bundled into local copies of Airtable.js source code if all of the following conditions are met: 1) the user has cloned the Airtable.js source onto their machine, 2) the user runs the
npm prepare
script, and 3) the user' has the AIRTABLE_API_KEY environment variable set. If these conditions are met, a user’s local build of Airtable.js would be modified to include the value of the AIRTABLE_API_KEY environment variable, which could then be accidentally shipped in the bundled code. Users who do not meet all three of these conditions are not impacted by this issue.Recommendations
a) Upgrade to Airtable.js version 0.11.6 or higher; or
b) Unset the AIRTABLE_API_KEY environment variable in your shell and/or remove it from your .bashrc, .zshrc, or other shell configuration files.
References
Fix commit