Back to Checks
Elastic Beanstalk environment has managed platform updates enabled
elasticbeanstalk_environment_managed_updates_enabled
Service: elasticbeanstalkSeverity: high
OfficialBuilt-inVerified
Categories:vulnerabilities
Resource Type:AwsElasticBeanstalkEnvironment
Elastic Beanstalk environments with managed platform updates enabled (ManagedActionsEnabled: true) automatically apply platform patch/minor updates during a scheduled maintenance window.
Risk
Without automatic platform updates, environments may run vulnerable OS/runtime versions, enabling exploitation of known CVEs, RCE, or privilege escalation.
Patch drift also increases instability, harming availability and undermining application integrity.
Run this check with Prowler
Run in Prowler CloudRun
prowler aws --checks elasticbeanstalk_environment_managed_updates_enabledRecommendation
Enable managed platform updates with a set maintenance window and choose an update level (patch or minor). Ensure enhanced health is on and the update role follows least privilege. Validate in staging, roll out gradually, and stagger windows across environments to strengthen defense in depth and resilience.
Remediation
CLI
aws elasticbeanstalk update-environment --environment-name <environment-name> --option-settings Namespace=aws:elasticbeanstalk:managedactions,OptionName=ManagedActionsEnabled,Value=trueTerraform
resource "aws_elastic_beanstalk_environment" "<example_resource_name>" {
name = "<example_resource_name>"
application = "<example_resource_name>"
solution_stack_name = "<example_resource_name>"
setting {
namespace = "aws:elasticbeanstalk:managedactions"
name = "ManagedActionsEnabled" # Critical: enables managed platform updates
value = "true" # Critical: set to true to pass the check
}
}NativeIaC
Resources:
<example_resource_name>:
Type: AWS::ElasticBeanstalk::Environment
Properties:
ApplicationName: <example_resource_name>
SolutionStackName: <example_resource_name>
OptionSettings:
- Namespace: aws:elasticbeanstalk:managedactions
OptionName: ManagedActionsEnabled # Critical: enables managed platform updates
Value: "true" # Critical: set to true to pass the checkOther
1Open the AWS Management Console and go to Elastic Beanstalk
2Select your environment
3Choose Configuration
4In Managed updates, click Edit
5Turn Managed updates to Enabled
6Click Apply/Save
Check Code
from prowler.lib.check.models import Check, Check_Report_AWS
from prowler.providers.aws.services.elasticbeanstalk.elasticbeanstalk_client import (
elasticbeanstalk_client,
)
class elasticbeanstalk_environment_managed_updates_enabled(Check):
def execute(self):
findings = []
for environment in elasticbeanstalk_client.environments.values():
report = Check_Report_AWS(metadata=self.metadata(), resource=environment)
report.status = "PASS"
report.status_extended = f"Elastic Beanstalk environment {environment.name} has managed platform updates enabled."
if environment.managed_platform_updates != "true":
report.status = "FAIL"
report.status_extended = f"Elastic Beanstalk environment {environment.name} does not have managed platform updates enabled."
findings.append(report)
return findingsReferences
- https://docs.aws.amazon.com/securityhub/latest/userguide/elasticbeanstalk-controls.html#elasticbeanstalk-2
- https://www.trendmicro.com/trendaivisiononecloudriskmanagement/knowledge-base/aws/ElasticBeanstalk/managed-platform-updates.html
- https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-platform-update-managed.html