Main Content

Potential Risks

  • The MATLAB® Web App Server™ has no specific mechanism to prevent HTTP request capture and replay.

  • Installation of the MATLAB Web App Server creates two low-privileged user accounts on the host machine.

    These low-privileged accounts may inherit privileges given to all users. Care should be taken to restrict privileges given to all users.

  • While the server and applications run under two different low-privileged user accounts, all applications hosted by the server run under the same low-privileged user account.

    If multiple copies of the same application run simultaneously, they might interfere with each other. This situation happens if the application writes data to any shared resource, for example, a file or a non-concurrent database.

  • When deploying multiple applications to the server, the server shares cookies across sessions, which can result in crosstalk between applications for a single user accessing more than one application.

    This situation could allow unintentional crosstalk between multiple applications run by the same user.

  • Deployed web applications are potentially vulnerable to data or code injection attacks whereby malicious or malformed inputs can be used to attempt to subvert the system. The server does not contain explicit protection against either type of injection attack. Certain MATLAB features, particularly the eval() function, can increase the risk of injection attacks. A common countermeasure is input sanitization or input whitelisting. MATLAB contains functions like regexp (MATLAB) and regexprep (MATLAB) that can assist in validating untrusted input.

    • Your application may indirectly call eval(), potentially making it vulnerable to code-injection attacks.

    • Other MATLAB functions may exhibit the same code injection vulnerabilities; any function that processes code-like input (XML, SQL, JSON, to name a few) is potentially vulnerable to code injection.

    • Any application that accesses the operating system via MATLAB system(), dos(), or unix() commands might also be vulnerable to code injection.

  • Authentication tokens can potentially be abused.

Note

This list identifies known risks and is not meant to be comprehensive.

Related Topics